
※本記事にはアフィリエイト広告(プロモーション)が含まれています

PCパーツ・ガジェット専門
自作PCパーツやガジェットの最新情報を発信中。実測データに基づいた公平なランキングをお届けします。
Node.jsをプロジェクトごとに切り替えるなら、Linux・macOS・WSLではnvm、Windowsを含む複数OSではfnmが候補です。2026年10月6日の確認では、Voltaは公式にメンテナンス終了を明示しており、新規導入の推奨から外します。編集部では、チームが使うOSとバージョン指定ファイルに合わせて一つの管理ツールを選ぶことを勧めます。
以下の表は、主要なバージョン管理ツールの特徴をまとめたものです。
| ツール名 | 主な対象OS | 特徴 | 推奨される利用シーン |
|---|---|---|---|
| nvm (nvm-sh) | Linux / macOS / WSL | POSIX shell向け。最も標準的な選択肢の一つ。 | Unix系環境での標準的な管理 |
| nvm-windows | Windows | Windowsネイティブ。nvm-shとは別物。 | Windows環境での標準的な管理 |
| fnm | Windows / macOS / Linux | Rust製のバージョン管理ツール。クロスプラットフォーム対応。 | 高速な動作とクロスプラットフォーム環境 |
| Volta | Windows / macOS / Linux | プロジェクトごとにバージョンを固定(Pinning) | (非推奨) 新規プロジェクトにはmise等を推奨 |
nvmには、開発者が混同しやすい2つの異なる実装が存在します。
nvm (nvm-sh) は、POSIX準拠のシェル(bash, zshなど)を対象としたツールです。Linux、macOS、およびWindows上のWSL(Windows Subsystem for Linux)環境での利用を前提としています。
一方、nvm-windowsの公式リポジトリはWindowsネイティブ環境向けの別プロジェクトです。WindowsのコマンドプロンプトやPowerShellで動作させる場合は、fnmやnvm-windowsなど、Windowsネイティブに対応するツールを選びます。
fnmはRust言語で実装されたバージョン管理ツールです。Windows、macOS、Linuxのいずれでも動作するクロスプラットフォーム対応のツールです。
fnmを最大限に活用するには、以下の設定が必要です。
.node-version または .nvmrc ファイルを検知して自動的にバージョンを切り替えるには、シェル設定に --use-on-cd オプションを含める必要があります。2026年10月6日時点のVolta公式READMEによれば、Voltaは「unmaintained(メンテナンスされていない)」状態にあります。Volta公式リポジトリは mise への移行を推奨しています。
Voltaを使用している環境において、動作中のシステムに対して直ちに緊急の移行を求めるものではありませんが、新規のプロジェクトにVoltaを採用することは推奨されません。
Node.jsのバージョンを選択する際は、単に「最新版」を選ぶのではなく、プロジェクトの安定性とサポート期間を考慮する必要があります。
特定のバージョンを決定する前に、必ずNode.js公式のリリース情報を確認してください。
バージョン選定のポイントは以下の通りです。
チーム開発においては、メンバー全員が同じ環境で動作を確認できるよう、具体的なバージョンをファイルに記録して共有します。
.nvmrc または .node-version をプロジェクトのルートディレクトリに配置します。新しいバージョン管理ツールを導入したり、バージョンを切り替えたりする前には、現在の環境にパスの競合がないかを確認してください。
以下のコマンドを使用して、現在どのパスにあるNode.jsが実行されているかを確認できます。
command -v nodeGet-Command nodeまた、Node.jsおよびnpmのバージョンについても、以下のコマンドで現在の状態を把握しておきます。
node --version
npm --version
各ツールのインストール手順については、各プロジェクトの要件に合わせ、必ず公式のドキュメントを参照してください。
ダウンロードしたスクリプトの内容や取得先を確認してから実行してください。管理ツールを複数同時に初期化するとPATHが競合するため、使うものを一つに絞ります。
Voltaから他のツール(miseなど)へ移行する場合、以下の手順で確認を行います。
package.json 内に記述されているVoltaのバージョン固定設定(pin)を確認します。npm global でインストールしたパッケージは、Node.jsのバージョンを切り替えると、そのバージョンごとに独立して管理されます。バージョンを切り替えると、以前のバージョンでインストールしたグローバルパッケージが見えなくなるため、必要に応じて再インストールが必要です。.nvmrcを読み込むプロジェクトが指定するバージョンを.nvmrcへ記録したうえで、プロジェクト内で次の順に確認します。リリース表と依存関係に合うバージョンを使ってください。
nvm install
nvm use
node --version
npm --version
command -v node
出典:nvm公式ガイド。nvm useが成功しても、エディタ内のターミナルや別シェルが同じ環境とは限りません。それぞれの起動環境で確認します。
出典:fnm公式ガイド。bash、zsh、PowerShellでは初期化の書き方が違います。使うシェルの案内に従ってfnm envと--use-on-cdを設定し、新しいシェルを開いて、バージョン指定ファイルのあるディレクトリで確認します。
編集部では、移行後に依存関係のインストールだけでなく、普段の起動・ビルド・テストを実際に実行してから旧管理ツールの設定を外すことを勧めます。移行前の指定バージョンと初期化設定を残しておけば、問題時に戻せます。
継続的インテグレーション(CI)環境では、ローカル開発環境と完全に一致したNode.jsバージョンを使用することが重要です。
package-lock.json や yarn.lock などのロックファイルを必ずリポジトリに含め、CI環境でもこれを使用してインストールを行ってください。git clean を実行する必要はありませんが、環境の整合性を保つために、CI環境では常にクリーンな状態からプロセスを開始することが推奨されます。詳細なスクリプト作成や自動化については、PowerShellのワークフロー作成や、Linuxサーバーのセキュリティ強化のガイドラインを参考にしてください。
複数のツール(例:nvmとfnm)を同時にインストールしている場合、command -v node で表示されるパスが意図しないツールを指していることがあります。これは、シェルの PATH 環境変数の優先順位が原因です。使用するツールの設定が、シェルの初期化ファイル(.bashrc, .zshrc など)の適切な位置に記述されているか確認してください。
以前のNode.jsで導入したグローバルCLIが見つからない場合は、管理ツールのパッケージ管理方式を確認します。npm自体が見つからない場合は、Node.jsの導入状態やPATHを調べてください。どちらも単に「仕様」として放置せず、実行ファイルの場所とバージョンを確認します。
いいえ、全く別のツールです。nvm-shはLinux/macOS/WSL向けであり、nvm-windowsはWindowsネイティブ環境向けです。
シェルの設定ファイルにfnmの初期化設定を追加し、--use-on-cd オプションを有効にしてください。これにより、.node-version や .nvmrc があるディレクトリに移動した際に自動で切り替わります。
公式が「unmaintained」と明示しているため、新規プロジェクトではVoltaではなく、miseなどのメンテナンスされているツールを選択することが推奨されます。既存の動作中の環境については、計画的に移行を検討してください。
いいえ。プロジェクトの安定性を重視する場合は、公式のリリース表を確認し、LTS(Long Term Support)版を選択してください。
管理ツールがグローバルパッケージをどう扱うかを確認し、必要なCLIを移行先に導入します。npm自体が見つからない場合は、Node.jsの導入状態とPATHを先に調べます。

アクセサリー
Freenove クアッド M.2 NVMe SSD HAT for Raspberry Pi 5、M.2アダプターAI HAT 4スロットNAS RAIDキット、ソリッドステートドライブサイズ2230 2242 2260 2280、PCIe 2.0最大速度500 MB/s、詳細なチュートリアル

ストレージ
Freenove M.2 NVMe SSDアダプタ、Raspberry Pi 5、M.2 HATアドオンボード、ソリッドステートドライブサイズ2230 2242 2260 2280、PCIe 2.0 3.01231 MB/s

ストレージ
Fikwot FN950 M.2 SSD 2TB PCIe Gen4.0 x4 M.2 2280 NVME SSD 最大読込4800MB/s 最大書込4500MB/s 高耐久 内蔵SSD SLCキャッシュの設定 PS5動作確認済み メーカー5年保証

ストレージ
FLEANE FM13A 256GB NVME SSD DIYツール付き MacBook Air(Mid2013-Mid2017)、MacBook Pro Retina(2013後期から2015年半ば)、iMac(Mid2013-Mid2017) (256GB)

アクセサリー
FENOHREFE SSDアダプター M.2 SSDからU.2アダプター NVMe Key B SSDからPCI-e SFF-8639 変換アダプター フレームブラケット付き PC用 デスクトップSSDアダプター

ストレージ
FIDECO M.2 NVMe SATA SSD クローナードック 20Gbps M.2 NVMe クローナーデュプリケーター オフラインクローン

Web開発に必要なPC環境の構築方法を解説。Node.js、Docker、Chrome DevTools、VS Code拡張の設定を紹介。

mise/asdf/proto+direnv で複数プロジェクトの言語バージョンを自動切替。Node/Python/Go/Rust/Bun。

Bunランタイムの全機能を網羅した2026年版ガイド。パッケージマネージャー・バンドラー・テストランナー内蔵のオールインワンツールキットとしての実力をNode.jsと実測比較。
この記事で紹介したノートパソコンの商品情報をAmazonで確認できます。
Q: さらに詳しい情報はどこで?
A: 自作.comコミュニティで質問してみましょう。