はじめに:なぜmiseへ移行するべきなのか?
これまでNode.jsのバージョン管理ツールとして「nodebrew」や「nvm」、あるいは「Volta」を使ってきた方も多いと思いますが、最近はRust製で超高速な万能ツール「mise(旧rtx)」へ移行するケースが急増しています。
なぜ従来のツールから乗り換えるのでしょうか?
nodebrewやnvmでは「プロジェクトごとに手動でバージョンを切り替える手間」があり、シェルの起動も遅くなりがちでした。それを解決したのが自動切り替え機能を持つVoltaでしたが、公式により実質的なメンテナンス終了(unmaintained)が宣言されてしまいました。
その後継として大本命となっているのが「mise」です。miseを採用すると、一度バージョンを固定してしまえば、そのディレクトリに移動するだけで自動的に正しいバージョンが適用されます。さらに、Node.jsだけでなくPythonやRubyなど他の言語のバージョン管理もこれ一つで完結できるのが最大のメリットです。
・Rust製のため動作・ターミナルの起動が非常に高速
・ディレクトリに移動するだけで、自動的に指定されたバージョンに切り替わる
・Node.jsだけでなく、Python、Go、Rubyなど複数言語の管理を統一できる
・.nvmrc など既存ツールの設定ファイルもそのまま読み込める互換性の高さ
1. 既存のバージョン管理ツールの削除
複数のバージョン管理ツールが混在していると、パス(PATH)の競合により思わぬエラーが発生することがあります。miseをインストールする前に、必ず既存のツールを完全に削除しておきましょう。
nodebrewの削除方法
- インストールディレクトリの削除
- シェルの設定ファイルからパスの記述を削除
# 1. ディレクトリを削除します
rm -rf ~/.nodebrew
# 2. .zshrc や .bash_profile などの設定ファイルを開き、以下のパス設定を削除(またはコメントアウト)します
# export PATH=$HOME/.nodebrew/current/bin:$PATH
nvmの削除方法
- インストールディレクトリの削除
- シェルの設定ファイルからnvm用の記述を削除
# 1. ディレクトリを削除します
rm -rf ~/.nvm
# 2. .zshrc や .bash_profile などの設定ファイルを開き、以下の記述を削除します
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Voltaの削除方法
- インストールディレクトリの削除
- シェルの設定ファイルからVolta用の記述を削除
# 1. ディレクトリを削除します
rm -rf ~/.volta
# 2. .zshrc や .bash_profile などの設定ファイルを開き、以下の記述を削除します
# export VOLTA_HOME="$HOME/.volta"
# export PATH="$VOLTA_HOME/bin:$PATH"
設定ファイルの記述を削除した後は、ターミナルを再起動するか「source ~/.zshrc」などを実行して設定を反映させてください。
2. miseのインストールと設定
本体のインストール後、シェルに「有効化(activate)」の設定を記述します。
本体のインストール
ターミナルで以下のコマンドを実行します。
curl https://mise.run | sh
設定ファイルへの追記
エディター(nanoなど)で設定ファイルを開き、一番下の行に以下の記述を追記して保存してください。
■ zsh をお使いの場合(最近のMacのデフォルト)
設定ファイル:~/.zshrc
eval "$($HOME/.local/bin/mise activate zsh)"
■ bash をお使いの場合(少し古いMacや、ご自身で設定している場合)
設定ファイル:~/.bash_profile
eval "$($HOME/.local/bin/mise activate bash)"
追記して保存した後は、ターミナルを再起動するか「source ~/.zshrc」(bashの場合は「source ~/.bash_profile」)を実行して設定を反映させてください。
エディターを使わず、ターミナル上のコマンドで追記・反映まで完結させる場合は、お使いのシェルに合わせて以下の3行を順番に実行してください。(1行目の空echoは、ファイルの末尾で文字がくっつくのを防ぐための対策です)
■ zsh をお使いの場合
echo "" >> ~/.zshrc
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
source ~/.zshrc
■ bash をお使いの場合
echo "" >> ~/.bash_profile
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bash_profile
source ~/.bash_profile
3. miseの基本的な使い方
miseの使い方は非常にシンプルです。主要な操作をまとめました。
Node.jsのインストールと全体の切り替え(グローバル設定)
特定のバージョン、または最新版をインストールします。miseでは、mise use --global を実行するだけでインストールとPC全体のデフォルト設定が同時に行われます。
# 最新のLTSバージョンをインストールしてグローバルに設定
mise use --global node@lts
# バージョンを指定してインストール(例: バージョン20系, 22.19.0系)
mise use --global node@20
mise use --global [email protected]
プロジェクトごとのバージョン固定(ローカル設定)
プロジェクトごとに使用するNode.jsのバージョンを固定します。
- プロジェクトのルートディレクトリに移動します。
- 以下のコマンドを実行してバージョンを固定します。
# 1. プロジェクトのディレクトリに移動する(パスはご自身の環境に合わせてください)
cd /path/to/your/project
# 2. バージョンを固定する(例として20系を指定)
mise use node@20
この操作により、ディレクトリ内に .mise.toml という設定ファイルが自動作成されます。以降は、そのディレクトリに入るだけで自動的に固定されたバージョンが適用されるため、チーム開発でのバージョン差異を防ぐことができます。
miseのよく使うコマンド一覧
| コマンド | 役割・説明 |
|---|---|
| mise use –global <tool>@<version> | 指定したツールとバージョンをインストールし、全体のデフォルトに設定します。 |
| mise use <tool>@<version> | 現在のディレクトリ用にツールをインストール・固定します(.mise.tomlを作成)。 |
| mise ls | 現在インストールされているツールとバージョンのリストを表示します。 |
| mise ls-remote <tool> | インストール可能な全てのバージョン履歴をサーバーから取得して表示します。 |
よくある質問
- VS Codeで npm i を実行すると「Error: Cannot find module ‘node:path’」というエラーが出ます
-
このエラーは、使用しているNode.jsのバージョンが古く(v14未満など)、新しいnpmの仕様に対応していない場合に発生します。miseではなくPCに昔から直接インストールされていた古いNode/npmが動いてしまっている可能性が高いです。
【よくある落とし穴:VS CodeとOSでターミナルの種類が違う】
Macの標準ターミナル(bash)にはmiseのパスが通っているため正常に動くのに、VS Codeの統合ターミナルが「zsh」になっており、そちらにパスが通っていない(=古いNodeが呼ばれる)というケースが発生していることがあります。【解決方法】
- VS Codeのターミナルで
echo $SHELLを実行し、自分がbashとzshのどちらを使っているか確認する。 - VS Code側のシェル(zshなど)の設定ファイル(
~/.zshrc等)にmiseのactivate設定が記述されているか確認し、無ければ追記してsource ~/.zshrcを実行する。 - VS Codeを一度完全に再起動する。
- VS Codeのターミナルで
node -vとwhich nodeを実行し、miseのNode(例:~/.local/share/mise/installs/node/...)が呼ばれているか確認する。
それでも直らない場合は、過去にHomebrewや公式サイトのインストーラーで入れた古いNode.jsが残っていないか確認し、そちらをアンインストールしてください。
- VS Codeのターミナルで
- miseをインストールしたのに「command not found: mise」と出ます
- 環境変数(PATH)の追加、またはactivateの記述が正しく設定されていない可能性があります。ターミナルを再起動するか、
.zshrcや.bash_profileにeval "$(~/.local/bin/mise activate zsh)"等の記述があるか確認し、再度source ~/.zshrc等を実行してみてください。 - npmやyarnもmiseで管理できますか?
- はい、可能です。
mise use --global npm@8やmise use --global yarnのように実行することで、Node.js本体と同様に管理できます。また、Node.jsに同梱されているcorepackを有効化(corepack enable)してyarnやpnpmを管理するのも最近の主流です。


