mise 入門 - 開発ツールのバージョン管理を簡単にする
mise を使って Node.js や Python などの開発ツールのバージョンを管理する方法を解説します。インストールから基本的な使い方まで、ステップバイステップで説明します。
mise とは
mise(読み方: ミーズ)は、開発ツールのバージョン管理を行うためのツールです。正式名称は mise-en-place(ミーズ・オン・プラス)で、フランス料理の「準備を整える」を意味する用語に由来します。Node.js、Python、Ruby など、複数のプログラミング言語やツールのバージョンを簡単に切り替えられます。
公式サイト: https://mise.jdx.dev
従来のツールの課題
開発をしていると、プロジェクトごとに異なるバージョンのツールが必要になることがあります。
- プロジェクト A では Node.js 22 を使用
- プロジェクト B では Node.js 24 を使用
従来は、言語ごとに別々のバージョン管理ツールを使う必要がありました。
| 言語 | バージョン管理ツール |
|---|---|
| Node.js | nvm, nodenv |
| Python | pyenv |
| Ruby | rbenv |
これでは、ツールごとに使い方を覚える必要があり、設定も複雑になりがちです。
mise の機能
mise は以下の複数の機能を 1 つのツールで提供します。
- ツールのバージョン管理: Node.js、Python、Ruby など、多数のツールに対応
- プロジェクトごとの自動切り替え: ディレクトリに入ると自動でバージョンが切り替わる
- 環境変数の管理: プロジェクトごとに環境変数を設定できる
この記事では扱いませんが、mise にはタスクランナー機能もあります。make や npm scripts の代わりとして、プロジェクトのビルドやテストなどのタスクを定義・実行できます。
インストール
mise をインストールする方法はいくつかあります。お使いの環境に合わせて選んでください。
macOS / Linux
curl(カール)コマンドを使う方法が最も簡単です。curl は URL からデータをダウンロードするコマンドで、多くの環境に標準でインストールされています。ターミナルで以下のコマンドを実行してください。
# mise をインストール(~/.local/bin にインストールされる) curl https://mise.run | sh
インストールが完了したら、mise が正しくインストールされたか確認します。
# バージョンを確認 ~/.local/bin/mise --version
Homebrew を使う場合
macOS で Homebrew を使っている場合は、以下のコマンドでもインストールできます。
# Homebrew で mise をインストール brew install mise
Homebrew のインストール方法は「Mac で Homebrew をインストールする方法と基本的な使い方」を参照してください。
Homebrew でインストールした場合、mise は自動的に PATH に追加されます。
Windows
Windows では Scoop または winget を使ってインストールできます。
# Scoop を使う場合(推奨) scoop install mise # winget を使う場合 winget install jdx.mise
Scoop のインストール方法は「Windows 向けパッケージマネージャー Scoop のインストールと基本的な使い方」を参照してください。
シェルへの設定(アクティベーション)
mise をインストールしただけでは、ツールのバージョン自動切り替え機能は有効になりません。シェル(ターミナルで使うコマンド入力環境)に mise を登録する必要があります。これにより、ディレクトリを移動した際に mise が自動でツールのバージョンを切り替えられるようになります。
この設定を「アクティベーション」と呼びます。
Bash の場合
# ~/.bashrc に mise のアクティベーション設定を追加 echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
設定を反映するために、ターミナルを再起動するか、以下のコマンドを実行します。
# 設定を再読み込み source ~/.bashrc
Zsh の場合
macOS のデフォルトシェルは Zsh です。
# ~/.zshrc に mise のアクティベーション設定を追加 echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
設定を反映します。
# 設定を再読み込み source ~/.zshrc
PowerShell の場合
PowerShell を使っている場合は、以下のコマンドを実行します。
# PowerShell のプロファイルに mise のアクティベーション設定を追加 echo '(&mise activate pwsh) | Out-String | Invoke-Expression' >> $PROFILE
設定を反映するために、PowerShell を再起動するか、以下のコマンドを実行します。
# 設定を再読み込み . $PROFILE
$PROFILE のパスにファイルが存在しない場合は、New-Item -Path $PROFILE -ItemType File -Force で事前に作成してください。
設定の確認
mise が正しく設定されているか確認するには、mise doctor コマンドを使います。
# mise の設定状態を診断 mise doctor
問題がなければ、mise を使う準備は完了です。
基本的な使い方
ツールのインストールと有効化
mise でツールをインストールして使えるようにするには、mise use コマンドを使います。
# Node.js 24 をインストールしてプロジェクトで使用する mise use node@24
このコマンドを実行すると、以下の処理が行われます。
- Node.js 24 の最新バージョンがインストールされる
- 現在のディレクトリに
mise.tomlファイルが作成される - このディレクトリで Node.js 24 が使えるようになる
mise install コマンドはツールをインストールするだけで、PATH への追加は行いません。ツールを使えるようにするには mise use を使ってください。
グローバル設定とプロジェクト設定
mise には 2 種類の設定があります。
| 設定の種類 | 適用範囲 | コマンド |
|---|---|---|
| プロジェクト設定 | 現在のディレクトリのみ | mise use |
| グローバル設定 | システム全体(デフォルト値) | mise use -g |
# グローバル設定として Node.js 24 を設定 mise use -g node@24 # プロジェクト設定として Node.js 22 を設定(現在のディレクトリのみ) mise use node@22
プロジェクト設定はグローバル設定より優先されます。つまり、プロジェクトディレクトリに入ると、そのプロジェクト用のバージョンに自動で切り替わります。
バージョンの確認と切り替え
現在インストールされているツールとバージョンを確認するには、mise ls コマンドを使います。
# インストール済みの全ツールを表示 mise ls # 現在のディレクトリで有効なバージョンのみ表示 mise ls --current
特定のバージョンを一時的に使いたい場合は、mise exec コマンドが便利です。
# Node.js 22 で一時的にスクリプトを実行 # 「--」の後ろに実行したいコマンドを書く mise exec node@22 -- node ./app.js
設定ファイル(mise.toml)
mise use コマンドを実行すると、現在のディレクトリに mise.toml ファイルが作成されます。このファイルを直接編集することもできます。
基本構文
# mise.toml の基本的な書き方 [tools] # ツール名 = "バージョン" の形式で指定 node = "24"
複数ツールの指定
1 つのプロジェクトで複数のツールを使う場合は、[tools] セクションに並べて書きます。
[tools] # Node.js 24 の最新版を使用 node = "24" # Python 3.14 の最新版を使用 python = "3.14" # shellcheck は常に最新版を使用 shellcheck = "latest"
バージョンの指定方法には以下の種類があります。
| 指定方法 | 例 | 説明 |
|---|---|---|
| ファジー指定 | "20" | 20.x.x の最新版 |
| 固定指定 | "20.0.0" | 正確にそのバージョン |
| latest | "latest" | 常に最新版 |
バージョンを固定したい場合は、mise use --pin を使うと、インストールした正確なバージョンが記録されます。
# 正確なバージョンを mise.toml に記録 mise use --pin node@24
環境変数の設定
mise では、プロジェクトごとに環境変数を設定することもできます。
[tools] node = "24" [env] # 環境変数を設定 NODE_ENV = "development" API_URL = "http://localhost:3000" # PATH に追加のディレクトリを含める(_.path は mise 独自の特殊記法) _.path = "./node_modules/.bin"
[env] セクションに書いた環境変数は、そのディレクトリに入ると自動的に設定されます。
よく使うコマンド一覧
| コマンド | 説明 |
|---|---|
mise use <tool>@<version> | ツールをインストールして現在のディレクトリで有効化 |
mise use -g <tool>@<version> | ツールをグローバルに設定 |
mise install | mise.toml に記載された全ツールをインストール |
mise ls | インストール済みツールの一覧を表示 |
mise ls --current | 現在有効なツールとバージョンを表示 |
mise exec <tool> -- <cmd> | 指定したツールで一時的にコマンドを実行 |
mise doctor | mise の設定状態を診断 |
mise --version | mise のバージョンを表示 |
まとめ
この記事では、mise の基本的な使い方を解説しました。
- mise とは: 複数の開発ツールのバージョンを一元管理できるツール
- インストール:
curl https://mise.run | shで簡単にインストール可能 - アクティベーション: シェルの設定ファイルに追記して自動切り替えを有効化
- 基本的な使い方:
mise useでツールをインストール・有効化 - 設定ファイル:
mise.tomlでツールのバージョンや環境変数を管理
mise を使うことで、プロジェクトごとに異なるバージョンのツールを簡単に切り替えられるようになります。チーム開発では、mise.toml をリポジトリに含めることで、全員が同じ環境で開発できます。