mise でプロジェクトごとのツールバージョンを管理する

開発ツールのバージョン管理に mise を使っている。以前は asdf を使っていたが、mise に移行してから快適になった。

mise とは

mise (旧 rtx) は asdf 互換のツールバージョンマネージャ。asdf のプラグインエコシステムをそのまま使えて、Rust 製で動作が速い。

asdf との違い

プロジェクトでの使い方

プロジェクトルートに mise.toml を置くだけ。

[tools]
terraform = "1.14.7"
node = "22"
python = "3.12"

チームメンバーが mise install を実行すれば、全員同じバージョンのツールを使える。

注意点

非インタラクティブシェル (CI 環境など) では shim の解決に失敗することがある。GitHub Actions なら mise activate を使うか、直接パスを指定すればよい。

asdf からの移行はスムーズだった。互換性の問題もほぼなし。一番の改善は速度で、シェル起動時のオーバーヘッドが体感できるレベルで減った。

← Blog