miseが管理するコマンドの実行ファイルがどこにあるか確認したい
ターミナルでOSのwhichコマンドを使っても、PATHの設定状況によっては、mise管理下のバージョンとは別の場所にインストールされた同名のコマンドを指す場合がある。mise whichを使うと、mise管理下で実際に使われる実行ファイルのパスを確実に確認できる。
mise which の基本
mise.tomlにjq = "1.7.1"と記述したディレクトリでmise which jqを実行する。
$ mise which jq
/home/user/.local/share/mise/installs/jq/1.7.1/jq
似たコマンドにmise where
があるが、mise whereがツールのインストールディレクトリを表示するのに対し、mise whichは実行ファイル本体へのフルパスを表示する。
$ mise where jq
/home/user/.local/share/mise/installs/jq/1.7.1
$ mise which jq
/home/user/.local/share/mise/installs/jq/1.7.1/jq
バージョンやプラグイン名だけを確認する
--versionを付けると、パスの代わりにバージョン番号だけが出力される。
$ mise which jq --version
1.7.1
--pluginを付けると、そのコマンドを提供しているツール(プラグイン)名が出力される。
$ mise which jq --plugin
jq
特定のバージョンを指定して確認する
--toolオプションで<tool>@<version>を指定すると、mise.tomlの記述に関係なく、指定したバージョンの実行ファイルパスを確認できる。
$ mise which jq --tool jq@1.6
/home/user/.local/share/mise/installs/jq/1.6/jq
インストールされていないコマンドを指定するとエラーになる
miseが認識していないコマンド名を指定すると、エラーになる。
$ mise which yq
mise ERROR yq is not a mise bin. Perhaps you need to install it first.
このエラーが出た場合は、先にmise installでツールをインストールする。
\第一線のプログラマーの行動原理を学べる!/
