mise.tomlに書いたツールを実際にインストールしたい
miseはプロジェクトごとに使うツールのバージョンをmise.tomlで管理する。mise.tomlにツールとバージョンを記述しただけでは、そのバージョンの実体はまだダウンロードされていない。mise installを実行すると、設定ファイルに書かれたツールを実際にダウンロード・インストールする。
mise install の基本
mise.tomlに以下のようにツールを記述する。
[tools]
jq = "1.7.1"
このディレクトリでmise installを実行すると、jqのバージョン1.7.1がダウンロードされる。ただし、初めて対象ディレクトリのmise.tomlを読み込む際は、設定ファイルの信頼(trust)が必要になる場合がある。信頼していない設定ファイルに対してmise installを実行すると、次のようにエラーになる。
$ mise install
mise ERROR error parsing config file: /path/to/project/mise.toml
mise ERROR Config files in /path/to/project/mise.toml are not trusted.
Trust them with `mise trust`. See https://mise.en.dev/cli/trust.html for more information.
この場合はmise trustを実行してから、改めてmise installを実行する。
$ mise trust
mise trusted /path/to/project
$ mise install
mise jq@1.7.1 [1/2] install
mise jq@1.7.1 [1/2] download jq-macos-arm64
mise jq@1.7.1 [2/2] checksum jq-macos-arm64
mise jq@1.7.1 [2/2] extract jq-macos-arm64
mise jq@1.7.1 ✓ installed
インストール済みのツールに対して再度mise installを実行しても、何もダウンロードせずに終了する。
$ mise install
mise all tools are installed
バージョンを指定して直接インストールする
mise install <tool>@<version>とツール名・バージョンを直接指定すると、mise.tomlの内容にかかわらず、そのバージョンだけをインストールできる。
$ mise install jq@1.6
mise jq@1.6 [1/2] install
mise jq@1.6 [1/2] download jq-osx-amd64
mise jq@1.6 [1/2] generate checksum jq-osx-amd64
mise jq@1.6 [1/2] extract jq-osx-amd64
mise jq@1.6 ✓ installed
このコマンドはインストールのみを行い、mise.tomlの内容は書き換えない。mise lsで確認すると、jqのバージョン1.6と1.7.1の両方がインストール済みとして表示されるが、mise currentで現在有効なバージョンを確認すると、mise.tomlに書かれた1.7.1のままである。
$ mise ls jq
jq 1.6
jq 1.7.1 /path/to/project/mise.toml 1.7.1
$ mise current jq
1.7.1
プロジェクトで実際に使うバージョンを切り替えたい場合は、mise installではなくmise useでmise.tomlの記述自体を変更する。
\第一線のプログラマーの行動原理を学べる!/
