mise管理外のツールをmise.tomlから参照したい

Homebrewや自前のビルドスクリプトなど、mise管理外の方法でインストールしたツールがある場合、mise linkを使うとそのツールをmise管理下のバージョンとしてシンボリックリンクで登録できる。登録後はmise.tomlmise useから通常のバージョンと同じように参照できる。

mise linkの基本

Homebrewでインストールしたjqをmise管理下に登録する。

$ mise link jq@brew "$(brew --prefix jq)"

<TOOL@VERSION>brew部分はバージョン番号ではなく、自分で決められる任意の名前である。登録するとmise lsで確認できる。

$ mise ls jq
jq  brew (symlink)

(symlink)と表示され、通常のインストールとは異なりシンボリックリンクであることが分かる。

mise.tomlから参照する

登録したjq@brewは、通常のバージョンと同様にmise usemise.tomlに書き込める。

$ mise use jq@brew
[tools]
jq = "brew"
$ mise exec jq@brew -- jq --version
jq-1.7.1

Homebrewでインストールしたjqがそのまま実行されている。

-fで既存のリンクを上書きする

Homebrewでのアップデート後など、リンク先のパスが変わった場合は-f(--force)を付けて再登録する。

$ mise link -f jq@brew "$(brew --prefix jq)"

自前でビルドしたツールにも使える

mise linkはHomebrew経由のツールに限らず、node-buildのような外部ビルドツールでコンパイルしたツールにも使える。

$ node-build 20.0.0 ~/.nodes/20.0.0
$ mise link node@20.0.0 ~/.nodes/20.0.0