WindowsでNode.jsをスマートに管理する:nvmの完全ガイド
nvm-windowsでNode.jsを快適管理

はじめに
「Node.js のバージョンを上げたいけど、既存プロジェクトが壊れそうで怖い…」 「LTSと最新機能の両方を試したい」 ── そんな悩みを解決してくれるのが nvm (Node Version Manager) です。
特に Windows では、手動で Node.js をインストールすると バージョン切り替えや更新時にトラブルが起こりがち。
この記事では、nvm for Windows の概要・導入・使い方・注意点 をまとめます。
🔍 nvmとは?
nvm(Node Version Manager) は、Node.js の複数バージョンを簡単に切り替えるツールです。
Linux / macOS では nvm-sh が公式的に使われていますが、Windows向けには 「nvm-windows」 という別実装があります。
| 項目 | 内容 |
|---|---|
| ツール名 | nvm for Windows |
| 開発者 | Corey Butler |
| 公式GitHub | https://github.com/coreybutler/nvm-windows |
| 最新安定版 | v1.2.2(署名付き公式リリース) |
| 配布形態 | .exe インストーラー(Assets → nvm-setup.exe) |
nvmのメリット
- 🚀 Node.js の複数バージョンをワンコマンドで切替
- 🔄 グローバル環境を汚さずに LTS / 最新版を共存
- 🧩 プロジェクトごとにバージョンを固定可能
- 🧹 環境変数や PATH の衝突を自動管理
インストール手順
① 既存の Node.js を削除
もし手動インストール済みの Node.js がある場合は削除します。
-
「設定」→「アプリと機能」→ Node.js → アンインストール
-
以下のフォルダが残っていれば削除:
C:\Program Files\nodejs C:\Users\<ユーザー名>\AppData\Roaming\npm※ シンボリックリンクや古い npm パッケージが残っていると競合の原因になります。
② nvm-windows のインストーラーを入手
以下の公式URLから最新版をダウンロードします:
👉 https://github.com/coreybutler/nvm-windows/releases (2025年10月時点の最新:v1.2.2)
Assets セクションから nvm-setup.exe をクリックしてダウンロード。
③ インストール時の設定(超重要)
インストーラー起動後に次の2つのパスを確認します:
| 設定項目 | 推奨値 | 説明 |
|---|---|---|
| NVM_HOME | C:\nvm | nvm自体を置く場所(※日本語を含まないパスに!) |
| NVM_SYMLINK | C:\Program Files\nodejs | 実際に使用されるNodeのリンク先 |
⚠️ ユーザー名に日本語(例:「山田太郎」など)が含まれる場合、
AppData\Local\nvmのようなパスで文字化けし、could not be found or does not existエラーが出るため、 必ず ASCII のみのパス(例:C:\nvm) を指定します。
基本コマンド一覧
| コマンド | 説明 |
|---|---|
nvm list available | 利用可能な Node.js バージョン一覧を表示 |
nvm install 22.9.0 | 指定バージョンをインストール |
nvm use 22.9.0 | 使用する Node.js を切り替え |
nvm ls | インストール済みバージョンの一覧 |
nvm root C:\nvm | ルートパスを設定(トラブル時に有効) |
nvm uninstall 20.11.1 | 特定バージョンを削除 |
実践例:最新LTS版を導入する
nvm install lts nvm use lts node -v npm -v
プロジェクトごとのバージョン切り替え
プロジェクトごとに異なる Node.js バージョンを使いたい場合、
プロジェクト直下に .nvmrc ファイルを置きます。
例:
# .nvmrc
22.9.0
その上で、プロジェクトフォルダ内で以下を実行します。
nvm use
これで .nvmrc に書かれたバージョンに切り替わります。
⚠️ 注意
.nvmrcを置くだけでは自動で切り替わりません。
自動切替を実現するには、別途 PowerShell / Bash のログインスクリプトを組み込む必要があります。
例:cd時に.nvmrcを検知してnvm useを実行する関数を自作するなど。
| 用途 | コマンド例 | 備考 |
|---|---|---|
| 安定運用 | nvm install lts | 長期サポート版(業務用途) |
| 最新機能検証 | nvm install latest | 次世代APIを試すとき |
| プロジェクト別切替 | .nvmrc + 手動 nvm use | ⚠️自動切替は別途スクリプト実装が必要 |
グローバルパッケージの扱いに注意!
nvm では Node.js のバージョンごとに独立した npm が使われるため、
グローバルインストールしたパッケージはバージョンごとに分離 されます。
例:
nvm use 22.9.0 npm install -g yarn nvm use 20.11.1 yarn -v # ← 実はここでは存在しない!
解決方法(実務おすすめ)
-
プロジェクトローカルにインストール
npm install --save-dev typescript eslint→ 各プロジェクトの
node_modulesに依存関係を閉じ込める。 -
グローバル管理をスクリプト化
nvmのバージョン切り替え後に、自動的にグローバルパッケージを再インストールする簡易スクリプトを用意する。# reinstall-global.ps1 npm install -g yarn pnpm typescript eslint -
共通パスで共有したい場合(非推奨)
シンボリックリンクで共通 npm ディレクトリを指定することもできるが、
Nodeバージョン間の互換性トラブルが起きやすく、推奨されません。
トラブルシューティング
❌ C:\Users\���\AppData\Local\nvm could not be found
原因:ユーザー名に日本語などの非ASCII文字があるためパスが文字化け。
対処:
nvm root C:\nvm nvm install 22.9.0 nvm use 22.9.0
まとめ(改訂版)
-
.nvmrcは便利だが、自動切替はネイティブ機能ではない。
手動nvm useまたはスクリプト連携が必要。 -
グローバルパッケージはバージョンごとに独立。
→ プロジェクトローカルインストール or スクリプト管理 が実務的。 -
ユーザー名が日本語の場合は
C:\nvmにルートを変更。