Zilmac ブログ
← 技術実践に戻る

NVMで複数のNode.jsバージョンを管理する方法?Node 18、20、22、24の開発環境切り替え方法とよくある問題

CI/CD ·約 12 分で読めます

2026年10月15日現在、Node 18とNode 20はNode.js公式の一覧でEOL、Node 22とNode 24はLTSとして掲載されています。したがって、NVMで複数のNode.jsバージョンを管理する場合は、必要な版を個別に導入して現在のターミナルで切り替え、既定版またはプロジェクトのバージョンファイルで使い分けます。切り替え後は、バージョン表示だけでなく実行ファイルのパスも確認してください。(Node.js公式のリリース状況)

異なるNode.js版を使うプロジェクトを並行して保守する開発者は、導入・切り替え・既定版設定を確認できます。
Node 18、20、22、24の互換性を調べる工程では、版ごとのプロジェクト指定と検証手順が参考になります。
ターミナルが古い版を呼び出す場合は、Shellの初期化設定とPATHを順に確認してください。

NVMで複数のNode.jsバージョンを管理する基本

>

NVMは、同じ開発環境に複数のNode.js版をインストールし、作業中のシェルで使う版を切り替えるためのバージョン管理ツールです。ただし、「NVM」は複数の実装を指すことがあり、macOSやLinuxで使われるPOSIX Shell向けの実装と、Windows向けの別実装では、コマンドや設定ファイルが同一ではありません。コマンドを実行する前に、利用中の実装を確認してください。

選択肢 主な環境・切り替え方法 プロジェクト単位の指定 適合度
POSIX版NVM macOS・LinuxのBashやzsh。nvm useで現在のシェルを切り替えます .nvmrcを読み込み、nvm useで適用します。自動切り替えにはShell設定が必要です macOS:◎
Windows向けNVM実装 Windows向けの別実装。nvm useの後、ターミナルで確認します POSIX版の.nvmrcやnvm alias defaultをそのまま使えるとは限りません Windows:◎
Node.jsを直接導入 バージョンマネージャーを介さずOSに導入します 複数版の切り替えを別途管理する必要があります 複数プロジェクト:△

評価は各方式の適用範囲を比較した目安です。Windows向け実装のコマンドや設定は、公式リポジトリを確認してください。POSIX版の設定をWindowsの手順として流用すると、バージョンファイルの読み込みや既定版設定でつまずくことがあります。

Node 18、20、22、24のうち、どの版を使うべきですか。 まずプロジェクトの指定と依存パッケージの対応状況を優先します。そのうえで、新規開発ではNode.js公式のリリース状況を照合してください。2026年10月15日時点でNode 18とNode 20はEOLであり、セキュリティ更新の継続を前提にできません。Node 22とNode 24はLTSとして掲載されています。旧版は互換性確認に必要な範囲で使い、運用環境ではEOLの影響を別途評価してください。(Node.js公式のEOL情報)

Node 18、20、22、24の導入とバージョン確認

>

以下はmacOSのターミナルでPOSIX版NVMを利用する例です。NVM自体がShellで読み込まれていることを前提に、必要な版を主バージョン番号で指定します。導入済み一覧や現在の版を確認する方法は、POSIX版NVMの公式READMEに記載されています。

目的 POSIX版NVMのコマンド 確認内容
主バージョンを導入 nvm install 18、nvm install 20、nvm install 22、nvm install 24 各系列で利用できる版を導入します
導入済みの版を表示 nvm ls インストール済み版と現在選択中の版を確認します
リモートの版を確認 nvm ls-remote NVMから参照できる配布版を確認します
現在の版を確認 node -v 実際に起動するNode.jsの版を確認します
実行ファイルの場所を確認 nvm which current 現在選択されているNode.jsのパスを確認します

主バージョン指定は、その系列の利用可能な版を選ぶ方法です。再現性が必要なプロジェクトでは、nvm ls-remoteで配布状況を見たうえで、プロジェクトの要件に合わせて具体的な版を指定してください。Node.js公式のリリース状況では、系列ごとのサポート状態も確認できます。

インストール済みの版を確認し、次に使う版を選ぶにはどうすればよいですか。 nvm lsでローカルにある版を確認し、未導入ならnvm install 22のように導入します。導入直後に現在の版まで切り替わったと決めつけず、続けてnode -vを実行してください。ターミナルが複数開いている場合は、確認したい作業タブでコマンドを実行します。

ターミナルとプロジェクトのバージョン指定

>

POSIX版NVMでの切り替えは、現在開いているターミナルの作業環境に適用されます。新しいターミナルにも反映する既定版と、特定プロジェクト用の指定は目的が異なります。POSIX版NVMでは、既定版にnvm alias default、プロジェクト内の指定に.nvmrcを使えます。

現在のターミナルと新しいターミナル

現在のターミナルでNode 22を使う場合は、次のように切り替えます。切り替え後にnode -vとnvm which currentを実行し、版とパスが同じNVM管理下にあるか確認します。

nvm use 22
node -v
nvm which current

新しく開くターミナルで使う既定版を指定する場合は、nvm alias default 22を実行します。既定版を設定しても、すでに開いているターミナルやプロジェクトごとの指定が自動で同じ状態になるとは限りません。新しいターミナルを開き直してnode -vを確認してください。

プロジェクトごとにNode.jsを使い分けるにはどう設定しますか。 POSIX版NVMでは、プロジェクトのルートに.nvmrcを置き、使う版を記述します。たとえばNode 20を指定する場合は、ファイルに20を記載し、プロジェクトディレクトリへ移動してnvm useを実行します。必要な版が未導入なら、先にnvm installを実行すると、.nvmrcに書かれた版を基準に導入・切り替えできます。

cd /path/to/project
cat .nvmrc
nvm use
node -v

.nvmrcを置いただけで、ディレクトリ移動のたびに全環境で自動切り替えされるわけではありません。自動適用を望む場合は、使用中のShellとNVM実装に合ったフックなどを設定します。プロジェクト共有時には.nvmrcをリポジトリへ含め、チーム内で利用する実装と切り替え手順もそろえると、手動切り替え忘れを防ぎやすくなります。

切り替えが反映されない場合の確認順

>

Node.jsの表示が古いままでも、すぐに再インストールする必要はありません。ShellがNVMを読み込んでいるか、PATHで別のNode.jsが優先されていないか、対象のターミナルで切り替えたかを順に確認します。

NVMで切り替えたのに、ターミナルには古い版が表示されます。 まずnvm currentとnode -vを同じターミナルで実行します。続いてcommand -v nodeやwhich nodeで実行パスを確認し、nvm which currentの結果と異なるなら、PATH上で別のNode.jsが先に見つかっている可能性があります。

次に、Shellの初期化ファイルにNVMの読み込み設定があるか確認します。macOSでzshを使う場合、設定を編集した後に新しいターミナルを開くか、設定ファイルを読み直してからnvm --versionを実行します。nvm: command not foundとなる場合は、Node.jsのインストールより先に、現在のShellでNVMが読み込まれているかを調べてください。

切り替え後にnpmのグローバルコマンドが見つからない場合は、選択中のNode.js版で必要なツールが導入済みかも確認します。npmのグローバルパッケージはグローバル用の配置先に入るため、Node.js版を変えたときに、以前の環境で使えたコマンドが同じように使えるとは限りません。必要なパッケージはnpm list -g --depth=0で確認し、利用する版ごとに導入状況を整えてください。npm公式のフォルダー説明も参照できます。

リモートMacでの再現確認と最終判断

>

リモートMacでも、NVMの挙動はシェル、初期化ファイル、PATHの状態に左右されます。環境の種類だけで正しく切り替わると判断せず、プロジェクトの指定、ターミナルの出力、実行パスが一致するかを実際の作業環境で確かめます。ZilmacのリモートMacを検討する場合も、利用可能な環境情報を先に確認し、未掲載のNode.js構成や設定を前提にしないでください。リモートMacの環境情報とMacレンタルの案内で、実際に提供される内容を確認できます。

切り替え確認は次の順序で行います。

  • プロジェクトのpackage.jsonや.nvmrcで必要なNode.js系列を確認します。
  • 利用するNVM実装を確認し、POSIX版とWindows向け実装の設定を混同しないようにします。
  • nvm lsで必要な版が導入済みかを調べ、なければ対象版を導入します。
  • プロジェクトのルートでnvm useを実行し、node -vで版を確認します。
  • nvm which currentとcommand -v nodeで実行パスを照合し、npmコマンドも必要に応じて確認します。
  • 新しいターミナルでも確認を繰り返し、既定版とプロジェクト指定が意図どおりに適用されることを確かめます。

Node 18、20、22、24の互換性を確認する際、どこまで見ればよいですか。 node -vだけでなく、依存パッケージのインストール、テスト、ビルド、起動までを対象版ごとに実行します。Node 18とNode 20は2026年10月15日時点でEOLのため、過去環境の再現と、保守中の本番環境での採用判断は分けてください。運用版を決める際は、Node.js公式のリリース状況とEOL情報を再確認します。

まずはプロジェクトが要求する版、現在のターミナル、nodeの実行パスを一組として記録すると、切り替えミスを特定しやすくなります。手元のMacを継続利用でき、物理的な接続や固定されたローカル構成が必要なら、ローカル環境を維持する判断も合理的です。一方、リモートMacで開発環境を一時的に用意したい場合は、現在の環境で不足している点を整理したうえで、Zilmacが公開している利用環境情報を確認してから選択してください。

最終更新:2026年10月15日。Node.js公式リリース状況・EOL情報、NVM各実装の公式資料を確認しました。

開発環境を整えるなら、ZilmacのクラウドMacをご活用ください

専有型のMac環境をリモートで利用でき、プロジェクトごとの開発環境を分けて運用できます。

フルmacOS環境にSSHやVNCで接続でき、使い慣れたツールを活用した開発が可能です。 — プランを見る

期間限定

Zilmac

専有型のMac環境をリモートで利用でき、プロジェクトごとの開発環境を分けて運用できます。

ホームに戻る
期間限定 プランを見る