
miseはJeff Dickey氏が開発するRust製のversion managerで、当初はrtx(Runtime Executor)という名前で2022年に公開されたが、2024年初頭にmiseへ改名された。asdfと互換のプラグインや.tool-versionsを受け入れつつ、shimsを使わない直接PATH操作によって性能を大幅に改善し、さらに環境変数管理やタスクランナー機能を統合したのが特徴である。多言語環境のセットアップを単一ツールで完結したい開発者から急速に支持を集めている。
この記事の目次
- rtxからmiseへの改名と狙い
- shims撤廃とasdfプラグイン互換性
- 環境変数管理とタスクランナー機能
- 導入と既存ワークフローからの移行
- まとめ
rtxからmiseへの改名と狙い

Jeff Dickey氏はHerokuのCLI開発を長く担当した経験から、開発環境セットアップの自動化に強い関心を持っていた。2022年に立ち上げたrtxはasdfの弱点であった性能と環境変数管理に焦点を当て、Rust実装による起動の速さで頭角を現した。しかしrtxという名前は他社の登録商標(NVIDIAのGPUブランド等)と紛らわしいとの指摘があり、2024年1月にmiseへ改名された。
miseはフランス語の「設置・配置」を意味し、mise en place(料理用語の準備配置)から取られた。改名後はドキュメントを刷新し、asdfの代替・スーパーセットとしての位置づけをより明確に打ち出した。ユーザー数は2024年中に倍増し、GitHubスターは2万を超える人気ツールへ成長している。
shims撤廃とasdfプラグイン互換性

asdfがshimsスクリプト経由でPATH解決を行うのに対し、miseはシェル初期化時にプロジェクトのバージョンを判定してPATHを書き換える方式を採る。これによりコマンド毎のオーバーヘッドがほぼゼロになり、Pythonスクリプトの起動が数百ms単位で速くなる事例が報告されている。Direnv同様にcdフックでPATHを切り替える挙動は、shellの起動コストとのトレードオフだが、現在のシェルでは十分実用的だ。
プラグインはasdfのリポジトリをそのまま使え、mise use python@3.12のような独自記法とasdfの.tool-versionsの両方を解釈する。さらにNode.js・Python・Ruby・Goなど主要言語については、外部プラグインに依存しないコアプラグインがmise本体に同梱されており、初回セットアップがasdfより簡潔になる。プラグインの恩恵を残しつつデフォルト体験を磨いた、現実的な設計判断である。
環境変数管理とタスクランナー機能

miseはmise.tomlまたは.mise.tomlにプロジェクト固有設定を書き、[env]セクションで環境変数を、[tasks]セクションでスクリプトを定義できる。direnvの.envrcに近い感覚でDATABASE_URLなどをディレクトリ単位で切り替え、mise run testのようにタスクを呼び出せる。1ツールでversion・env・taskを束ねる点が他のversion managerと一線を画す。
Taskfileやjustといった専用タスクランナーと比べると機能はシンプルだが、依存関係の宣言・並列実行・引数受け渡しは押さえられており、軽量な用途では十分な代替になる。「version managerでもありdirenvでもありmakeでもある」というポジションは賛否があるものの、リポジトリに置く設定ファイルが減るメリットは無視できない。
導入と既存ワークフローからの移行

インストールはcurl https://mise.run | shまたはbrew install mise、scoop install miseなどで完了する。シェル初期化にeval "$(mise activate zsh)"を追加すればcd時の自動切替が有効になる。asdfユーザーはmise activateを有効にした上で既存の.tool-versionsを置けば動作し、設定の書き換えなしに移行できる点が滑らかな乗り換え体験を支えている。
CIではGitHub Actions向けに公式のjdx/mise-actionが用意され、uses: jdx/mise-action@v2の1行で適切なバージョンを再現できる。direnvからの移行も.envrcを読む互換モードがあり、段階的な乗り換えが可能だ。性能・互換性・追加機能の3点でasdfの上位互換となっており、新規プロジェクトでは第一選択になる事例が増えている。
まとめ
miseは旧名rtxから改名されたRust製のversion managerで、asdfの資産を引き継ぎつつshims撤廃による性能改善と環境変数・タスク機能の統合を実現した。設定ファイル1本でversion・env・タスクを管理できる利便性は強力で、多言語環境を扱う現代の開発に最適化された次世代の選択肢となっている。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント