mise.tomlに書いたツールが実際にインストールされているか確認したい

mise usemise installでツールを追加した後、実際にどのツールがインストールされていて、どのバージョンが有効になっているかを確認したい場合がある。mise lsを使うと、mise管理下のツールとバージョンの一覧を確認できる。mise listmise lsのエイリアスであり、同じ結果を得られる。

mise ls の基本

jqyqmise.tomlに記述したディレクトリでmise lsを実行する。

$ mise ls
jq  1.7.1  /path/to/project/mise.toml  1.7.1
yq  4.44.3  /path/to/project/mise.toml  4.44.3

左からツール名、インストール済みバージョン、そのバージョンを指定している設定ファイル、設定ファイルに記述されているバージョンの順に表示される。

mise.tomlに書かれているがインストールされていないツールも表示される

mise lsは「miseが認識しているツール」の一覧であり、インストール済みのツールだけでなく、mise.tomlに記述されているがまだインストールされていないツールも表示する。

[tools]
jq = "1.7.1"
yq = "4.44.3"
shellcheck = "0.10.0"

shellcheckをインストールしないままmise lsを実行すると、(missing)が付いた状態で一覧に表示される。

$ mise ls
jq          1.7.1            /path/to/project/mise.toml  1.7.1
shellcheck  0.10.0 (missing) /path/to/project/mise.toml  0.10.0
yq          4.44.3           /path/to/project/mise.toml  4.44.3

未インストールのツールを除いて、実際にインストール済みのものだけを見たい場合は--installedオプションを付ける。

$ mise ls --installed
jq  1.7.1  /path/to/project/mise.toml  1.7.1
yq  4.44.3  /path/to/project/mise.toml  4.44.3

ツール名を指定して絞り込む

引数にツール名を指定すると、そのツールに関するバージョンだけを表示できる。過去にmise installで別バージョンをインストールしていた場合、mise.tomlで有効になっていないバージョンも含めて表示される。

$ mise ls jq
jq  1.6
jq  1.7.1  /path/to/project/mise.toml  1.7.1

jqのバージョン1.6はmise install jq@1.6で個別にインストールしたものだが、mise.tomlにはバージョンが記述されていないため、設定ファイルの列は空欄になる。mise.tomlに記述されている1.7.1だけが、実際にプロジェクトで有効なバージョンである。