【みず(ばーじょんかんりつーる)】

mise(バージョン管理ツール) とは?

最終更新:
💡 言語バージョン管理の「万能スイッチボード」

Node.js・Python・Rubyなどの開発ツールをインストールし、プロジェクトに応じたバージョンを選べるツール。mise.tomlで環境変数やタスクも管理できる。

📌 このページのポイント
プロジェクトに応じたツールの版を選ぶ 以下は設定例。AかBを選んで実行 プロジェクトA mise.toml プロジェクトB mise.toml mise Aの環境 Node.js 24系 Bの環境 Node.js 22系 自動反映はシェルの有効化などが前提 mise execで環境を指定して実行する方法もある
設定された版のツールをインストールし利用する。例の24系・22系は具体的な1版への固定ではない。
ひよこ ひよこ
miseって何をするツールなの?
ペンギン先生 ペンギン先生
開発で使うNode.jsやPythonなどをインストールし、プロジェクトごとに使う版を選ぶツールだよ。例えばプロジェクトAとBで別のNode.jsを使う、といった設定をまとめて管理できる。
ひよこ ひよこ
フォルダに入れば自動で変わるの?
ペンギン先生 ペンギン先生
シェルでmiseを有効化すると、プロジェクトの設定に応じてPATHや環境変数が更新されるよ。有効化しない使い方もあり、mise exec -- node --versionのように、プロジェクトの環境で1つのコマンドを実行できる。
ひよこ ひよこ
設定はどう書くの?
ペンギン先生 ペンギン先生
例えばmise.tomlの[tools]にnode = "24"と書くと、Node.jsの24系を指定できるよ。mise installで設定されたツールをインストールする。これは具体的な1つの版の固定ではないので、チームで厳密にそろえるなら版の固定方法も確認しよう。
ひよこ ひよこ
asdfの後継なの?
ペンギン先生 ペンギン先生
別のツールだよ。asdfの.tool-versionsを読めたり、従来のasdfプラグインを使えたりするけれど、コマンドやインストール先は同一ではない。プラグインの互換性にも条件があり、特にWindowsでUnix向けのプラグインがそのまま動くとは限らないんだ。
ひよこ ひよこ
チームやCIでも使える?
ペンギン先生 ペンギン先生
設定ファイルを共有し、各環境で必要なツールをインストールして使えるよ。mise.tomlには[env]で環境変数、[tasks]でコマンドに名前を付けたタスクも設定できる。他人の設定にあるタスクなどはコードを実行するので、内容を確認してから利用しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「mise」って出てきたら「プロジェクトに合う開発ツールの版や環境をそろえるツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「mise-en-place」 = 仕込み(料理用語)
💬 フランス語の「あらかじめ準備しておく」から取った名前だよ

参考資料

← 用語集にもどる