mise について
Mise はポリグロット対応のランタイムマネージャーで、宣言的な設定を使用して言語バージョン、環境変数、開発タスクを一元管理します。複数の単一目的ツールを統合し、複合型の CLI インターフェースで機械間での一貫したプロジェクト設定を実現します。
主な機能
- 01設定ファイルで言語バージョンを宣言・切り替える
- 02プロジェクト固有のカスタムタスクを一元的に定義・実行する
- 03環境変数を自動的に注入しツール依存関係を管理する
活用シーン
- 01プロジェクト間で言語ランタイムをバージョン切り替えで分離する
- 02統合された CLI インターフェースで開発ワークフローを自動化する
- 03分散チームにおける開発環境設定を標準化する
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にmise --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
mise(「ミーズ」と発音し、mise-en-place の略です)は、プロジェクトのツールをインストールし、環境変数を設定して、シェル、エディター、CI で使える 1 つの mise.toml からタスクを実行します。mise bootstrap を使えば、パッケージ、dotfiles、サービスを含むマシン全体のセットアップもできます。
- 1,000 以上のレジストリから、Node.js、Python、Terraform などのツールをインストールできます。プロジェクトごとに異なるバージョンを指定できます。
- プロジェクトごとに環境変数を設定し、
.envファイルを読み込めます。 - プロジェクトのツールと環境変数を使って、ビルドやテストなどのタスクを実行できます。
mise bootstrapでマシンをセットアップできます。宣言したシステムパッケージ、dotfiles、リポジトリ、サービスが適用されます。
必要な部分だけを使ってください。ツール 1 つ、またはタスク 1 つから始められます。
デモ
mise execでツールを一度実行し、グローバルのデフォルトを設定して、プロジェクトに出入りするときに Node.js のバージョンを切り替える mise の動作をご覧ください。
デモの書き起こしには、現在のバージョンでのコマンドが記載されています。
クイックスタート
1. mise をインストールする
macOS または Linux の場合:
curl https://mise.run | sh
~/.local/bin/mise --version
Windows では、winget install jdx.miseを実行します。Homebrew、apt、Scoop、その他の方法については、mise のインストールをご覧ください。
インストーラーは mise を ~/.local/bin に配置します。そのディレクトリが PATH に含まれていない場合は、手順 4 で mise を有効にするまで、以下の手順で mise とある箇所には ~/.local/bin/mise と入力してください。
2. ツールを試す
mise exec node@24 -- node --version
# v24.x.x
mise execは、必要に応じて Node.js 24 をインストールし、それを使ってコマンドを 1 つ実行します。シェルや設定ファイルは変更せず、有効化しなくても使えます。
3. プロジェクトをセットアップする
mkdir my-project && cd my-project
mise use node@24
mise useは Node.js 24 をインストールし、新しい mise.toml にバージョンを書き込みます。そのファイルに環境変数とタスクを追加します。
[tools]
node = "24"
[env]
NODE_ENV = "development"
[tasks.hello]
description = "Print the Node.js version and NODE_ENV"
run = 'node -e "console.log(process.version, process.env.NODE_ENV)"'
タスクを実行します。
mise run hello
[hello] $ node -e "console.log(process.version, process.env.NODE_ENV)"
v24.x.x development
タスクは、プロジェクトの Node.js と NODE_ENV を使って実行されます。チームメイトや CI でも同じセットアップを使えるよう、mise.toml をコミットしてください。"24"は Node.js 24 系列のバージョン指定であり、厳密な固定ではありません。厳密なバージョンを共有するには、ロックファイルを使用してください。mise use [email protected]を実行すると別のツールをプロジェクトに追加でき、mise use --global node@24を実行すると ~/.config/mise/config.toml に個人用のデフォルトを設定できます。
mise がこのディレクトリで読み込んだ内容を確認するには、次を実行します。
mise config ls # config files in use here
mise ls --current # tool versions selected by those files
mise doctor # checks the installation and shell activation
4. シェルで mise を有効にする(任意)
有効にすると、プロジェクトに入ったときにプロジェクトのツールが PATH に追加され、環境変数が設定されるため、mise execを使わずに node を実行できます。mise.runでインストールした場合は、お使いのシェルに応じたコマンドを一度実行してください。
# bash
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
# zsh
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> "${ZDOTDIR:-$HOME}/.zshrc"
# fish
mkdir -p ~/.config/fish
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
新しいシェルを開きます。my-projectで node --version を実行すると、v24.x.x が表示されます。PowerShell、Nushell、その他のシェルの場合や、別の方法で mise をインストールした場合は、シェルのセットアップをご覧ください。
次に進むには
| 目的 | 参照 |
|---|---|
| チュートリアルを最初から最後まで進める | はじめに |
| すでに作業しているプロジェクトに mise を追加する | 既存のプロジェクト |
すでに mise.toml があるプロジェクトに参加する | 設定を確認してから、mise install と mise tasks ls を実行します(詳細) |
| 別のシェルや補完を設定する | シェルの設定 |
| ツールを探す | レジストリ |
| エディターまたは CI で mise を使う | エディターと IDE · 継続的インテグレーション |
| 主な機能を確認する | 開発ツール · 環境 · タスク |
| 新しいマシンをセットアップする | ブートストラップ · ドットファイル |
| コマンド、設定、または設定キーを調べる | CLI リファレンス · 設定 · mise.toml |
| 問題を解決する | トラブルシューティング · FAQ |
| mise またはそのドキュメントに貢献する | 貢献ガイド · ドキュメントの執筆 |
ヘルプを利用する
- バグは GitHub Issues で報告してください。まず
トラブルシューティングを確認し、
実行したコマンド、最小限の
mise.toml、期待した動作と実際の動作、個人情報が含まれていないか確認したうえでのmise doctorの出力を含めてください。 - 質問やアイデアの共有は GitHub Discussions で行ってください。
- Discord でほかのユーザーとチャットできます。
セキュリティに関する報告やその他のお問い合わせ先については、 お問い合わせをご覧ください。 Issue や Discussion への返信に AI を使う前に、 AI 返信ポリシーをお読みください。
特別な謝辞
mise に CI サービスを提供してくださった Namespace に感謝します。
