generated at
mise
概要
mise (旧rtx)は様々な言語/ツールのバージョン管理などをサポートするツールです
Node.js/Deno/Bun/Go/Ruby/Python/Java/Erlangあたりのランタイムについてはmiseによって公式にサポートが提供されています (コアプラグイン)
asdf (asdf-vm)と互換性があり、miseが直接サポートしない言語/ツールについては asdf プラグインを入れることで管理が可能です

インストール
shell
$ curl https://mise.run | sh
インストール先はMISE_INSTALL_PATH環境変数によってカスタマイズ可能です (デフォルトは $HOME/.local/bin/mise )
shell
# 例) インストール先を$HOME/binに変更する $ export MISE_INSTALL_PATH=$HOME/bin/mise
activate
必要に応じて mise activate <shell名> を実行する処理をシェルの設定ファイルに書き込みます
shell
$ echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
シェルを再起動した後、以下のコマンドを実行して activated: yes が表示されれば有効化に成功しています
shell
$ mise doctor

コマンド
バージョンの確認
$ mise version
ツールのインストール/有効化
shell
# mise use <ツール名>@<バージョン> # --globalオプションはasdfにおけるasdf globalコマンド相当の振る舞いをしてくれます $ mise use --global node@20.12.2 # 指定したバージョンのNode.jsがインストールされている $ node --version v20.11.0
インストールされたツールの一覧表示
shell
# Node.jsの一覧を表示 $ mise list node # Denoの一覧を表示 $ mise list deno
ツールのアンインストール
shell
# 例) Deno v1.42.1をアンインストールします $ mise uninstall deno@1.42.1
mise本体のアップデート
shell
# デフォルトではmise本体に加えて各asdfプラグインもアップデートされます # もしasdfプラグインはアップデートしたくない場合は`--no-plugins`オプションを指定します $ mise self-update

コアプラグイン
いくつかの言語やツールについてはmise本体にコアプラグインとして組み込まれています ( mise plugins ls --core でコアプラグインの一覧を表示できます)
shell
$ mise use --global deno@1.42.4
GitHub Releasesからダウンロードされます (src/plugins/core/deno.rs)

shell
$ mise use --global bun@1.1.4
GitHub Releasesからダウンロードされます (src/plugins/core/bun.rs)

$ mise use --global node@20.12.2

https://dl.google.com/go からダウンロードされるようです (src/config/settings.rs#L53)

ruby-installまたはruby-build経由でインストールされるようです (src/plugins/core/ruby.rs)

$ mise use --global java@temurin-22.0.0+36

kerl経由でインストールされるようです (src/plugins/core/erlang.rs)

asdfプラグイン
miseのコアに組み込まれていないツールについては、asdf-vmのプラグインを使って管理できます
mise use などの実行時に該当のツールを管理するasdf-vmプラグインがまだ導入されていなければ、自動でインストールされます
例えば、以下を実行すると、asdf-babashkaプラグインを使ってBabashkaがインストールされます
shell
$ mise use --global babashka@1.3.190 $ bb --version babashka v1.3.190
mise-plugins/registryリポジトリではmise向けにasdf-vmプラグインの短縮名の一覧が管理されています

バックエンド
miseには各種パッケージマネージャーを利用してツールを管理する機能があります
npmバックエンド
npm (またはBun)経由でインストールできるツールを管理できます
例) pnpmをインストールする
shell
# pnpm v10をインストール $ mise use -g npm:pnpm@latest-10 # インストールされたpnpmの一覧を表示します $ mise list npm:pnpm

設定ファイル
miseの設定ファイルでTOML形式で記述します
mise本体に関する設定や使用するツールのバージョン, asdf-vmプラグインに関する設定, 環境変数などを設定できます
グローバルな設定は ~/.config/mise/config.toml に配置します
mise use --global <tool>@<version> を実行すると、デフォルトでこのファイルに設定が書き込まれているようです
プロジェクトローカルな設定は、プロジェクトのルートディレクトリに .mise.local.toml .mise.$MISE_ENV.toml , .mise.toml などの名前で配置できます (プロジェクトローカルな設定はグローバルな設定よりも優先されます)
asdf-vmにおける.tool-versionsもサポートされています
hr

リンク