mise
概要
mise (旧rtx)は様々な言語/ツールのバージョン管理などをサポートするツールです asdf(asdf-vm)と互換性があり、miseが直接サポートしない言語/ツールについてはasdfプラグインを入れることで管理が可能です インストール
インストーラー
code:shell
code:shell
# 例) インストール先を$HOME/binに変更する
$ export MISE_INSTALL_PATH=$HOME/bin/mise
$ brew install mise
セットアップ
activate
必要に応じてmise activate <shell名>を実行する処理をシェルの設定ファイルに書き込みます
code:shell
$ echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
シェルを再起動した後、以下のコマンドを実行してactivated: yesが表示されれば有効化に成功しています
code:shell
$ mise doctor
コマンド
バージョンの確認
$ mise version
ツールのインストール/有効化
code:shell
# mise use <ツール名>@<バージョン>
# --globalオプションはasdfにおけるasdf globalコマンド相当の振る舞いをしてくれます
$ mise use --global node@20.12.2
# 指定したバージョンのNode.jsがインストールされている
$ node --version v20.11.0
インストールされたツールの一覧表示
code:shell
# Node.jsの一覧を表示
$ mise list node
# Denoの一覧を表示
$ mise list deno
ツールのアンインストール
code:shell
# 例) Deno v1.42.1をアンインストールします
$ mise uninstall deno@1.42.1
code:shell
# デフォルトではmise本体に加えて各asdfプラグインもアップデートされます
# もしasdfプラグインはアップデートしたくない場合は--no-pluginsオプションを指定します
$ mise self-update
ツールの特定のバージョンを実行
code:shell
$ mise exec deno@2.2.2 -- deno -v
deno 2.2.2
$ mise exec deno@2.2.3 -- deno -v
deno 2.2.3
コアプラグイン
いくつかの言語やツールについてはmise本体にコアプラグインとして組み込まれています (mise plugins ls --coreでコアプラグインの一覧を表示できます) code:shell
$ mise use --global deno@1.42.4
code:shell
$ mise use --global bun@1.1.4
$ mise use --global node@20.12.2
$ mise use --global java@temurin-22.0.0+36
バックエンド
miseには各種パッケージマネージャーを利用してツールを管理する機能があります asdfバックエンド
miseのコアプラグインとしてサポートされていないツールについては、asdf-vmのプラグインを使って管理することもできます mise useなどの実行時に該当のツールを管理するasdf-vmプラグインがまだ導入されていなければ、自動でインストールされます code:shell
$ mise use --global babashka@1.3.190
$ bb --version
babashka v1.3.190
/icons/hr.icon
npm (またはBun)経由でインストールできるツールを管理できます code:shell
# pnpm v10をインストール
$ mise use -g npm:pnpm@latest-10
# インストールされたpnpmの一覧を表示します
$ mise list npm:pnpm
aquaのレジストリを活用して、ツールをインストールする機能も提供されています (活用されているのはレジストリのみでaquaには依存していません) これらを利用するには、あらかじめこれらツールを導入しておく必要があるようです () code:shell
$ mise use -g slsa-verifier cosign
$ mise tool slsa-verifier
Backend: ubi:slsa-framework/slsa-verifier
...
$ mise tool cosign
Backend: aqua:sigstore/cosign
...
code:shell
$ mise use -g aqua:rossmacarthur/sheldon@0.8.1
/icons/hr.icon
設定ファイル
グローバルな設定は~/.config/mise/config.tomlに配置します
mise use --global <tool>@<version>を実行すると、デフォルトでこのファイルに設定が書き込まれているようです
プロジェクトローカルな設定は、プロジェクトのルートディレクトリに.mise.local.tomlや.mise.$MISE_ENV.toml, .mise.tomlなどの名前で配置できます (プロジェクトローカルな設定はグローバルな設定よりも優先されます)
/icons/hr.icon
リンク