PATHに追加すべきディレクトリを直接知りたい

【mise】mise whereでツールのインストールパスを確認する で紹介したmise whereは、ツールのインストールディレクトリそのものを返す。ただしツールによっては、実行ファイルはインストールディレクトリ直下ではなくbin/のようなサブディレクトリにある。mise bin-pathsを使うと、実際に実行ファイルが置かれているディレクトリを直接確認できる。

mise whereとの違い

nodeのようにbin/サブディレクトリに実行ファイルを持つツールで比較する。

$ mise where node
/home/user/.local/share/mise/installs/node/22.23.2
$ mise bin-paths node
/home/user/.local/share/mise/installs/node/22/bin

mise whereはインストールディレクトリそのものを返すのに対し、mise bin-pathsは実行ファイルが実際にあるディレクトリを返す。

引数なしで全ツール分を確認する

ツール名を指定せずに実行すると、mise.tomlに定義した全ツールの実行ファイルディレクトリを一覧表示する。

$ mise bin-paths
/home/user/.local/share/mise/installs/jq/1.7.1
/home/user/.local/share/mise/installs/node/22/bin

–bin-namesで実行ファイル名を確認する

ディレクトリではなく、実行ファイル名だけを知りたい場合は--bin-namesを使う。nodeのように、bin/ディレクトリに複数の実行ファイルを含むツールもある。

$ mise bin-paths --bin-names
corepack
jq
node
npm
npx

–jsonで詳細情報を確認する

--jsonを付けると、実行ファイル名・フルパス・シンボリックリンクかどうかをまとめて確認できる。

$ mise bin-paths --json
[
  {
    "name": "corepack",
    "path": "/home/user/.local/share/mise/installs/node/22/bin/corepack",
    "symlink": true
  },
  {
    "name": "jq",
    "path": "/home/user/.local/share/mise/installs/jq/1.7.1/jq",
    "symlink": false
  },
  {
    "name": "node",
    "path": "/home/user/.local/share/mise/installs/node/22/bin/node",
    "symlink": false
  },
  {
    "name": "npm",
    "path": "/home/user/.local/share/mise/installs/node/22/bin/npm",
    "symlink": false
  },
  {
    "name": "npx",
    "path": "/home/user/.local/share/mise/installs/node/22/bin/npx",
    "symlink": true
  }
]

corepacknpxsymlink: trueになっており、実体ではなく別の実行ファイルへのシンボリックリンクであることが分かる。