【ミーズ】

mise(開発環境ランタイム管理) とは?

💡 開発環境の『段取り上手』なシェフ
📌 このページのポイント
mise ― 3つの機能を1つに統合 mise バージョン管理 Node.js / Python / Go asdf互換 環境変数管理 ディレクトリ連動 direnv互換 タスクランナー mise run test Makefile代替 mise.toml(1ファイルで全設定) [tools] / [env] / [tasks]
miseの3つの統合機能
ひよこ ひよこ

miseってasdfと何が違うの?

ペンギン先生 ペンギン先生

asdfと同じくバージョン管理ができるけど、Rust製だから動作がとにかく速いんだ。さらに環境変数の管理やタスクランナーの機能も組み込まれてるよ

ひよこ ひよこ

環境変数の管理もできるの?direnvみたいな感じ?

ペンギン先生 ペンギン先生

そう、direnvの機能も内蔵してるんだ。mise.tomlに環境変数を書いておけば、ディレクトリに入った時に自動でセットされる。ツールが1つ減るのは嬉しいよね

ひよこ ひよこ

タスクランナーって何に使うの?

ペンギン先生 ペンギン先生

例えばテストやビルドのコマンドをmise.tomlに定義しておけば、`mise run test`で実行できる。Makefileの代わりにもなるし、チームで共通のタスクを定義するのに便利だよ

ひよこ ひよこ

asdfから乗り換えるのは大変?

ペンギン先生 ペンギン先生

.tool-versionsファイルをそのまま読めるから、移行はほぼゼロコストだよ。asdfプラグインも使えるし、徐々に移行できるんだ

ひよこ ひよこ

設定ファイルはどっちを使えばいいの?

ペンギン先生 ペンギン先生

新規プロジェクトならmise.tomlがおすすめだよ。TOML形式で環境変数もタスクもバージョン指定も1つのファイルにまとめられる。チームにasdfユーザーがいるなら.tool-versionsとの併用もできるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「mise」って出てきたら「asdfの進化版で、バージョン管理+環境変数+タスク実行ができるツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「mise-en-place」 = フランス語で「準備を整える」
💬 料理用語の mise-en-place(ミザンプラス)が由来で、調理前に材料や道具を整えることを意味するよ。開発環境を整えるツールにぴったりの名前だね
← 用語集にもどる