Windows 11 に Node.js をインストールする方法(nvm-windows でのバージョン管理・npm エラー解決)

Windows 11 に nvm-windows で Node.js LTS をインストールし、node・npm の動作確認、バージョンの切り替え、npm.ps1 の実行エラーの解決、きれいに削除する方法までまとめます。nvm を使わずに …

Windows 11Node.js 24 LTSx64約 21 分

検証済みのドキュメントです

クラウドサーバーを作成し、このドキュメントのコマンドを最初から最後までそのまま実行して確認したドキュメントです。

OS
Windows 11 Pro 25H2 (build 26200) · x64
インストールしたバージョン
nvm-windows 2.0.1, Node.js 24.21.0 LTS / 22.23.3, npm 11.19.0, winget Node.js 24.20.0
テストサーバー
Microsoft Azure · 2 vCPU / 4 GB RAM (Standard_B2als_v2, koreacentral)
最終確認
2026-10-12

Windows 11 に nvm-windows で Node.js LTS をインストールし、node・npm の動作確認、バージョンの切り替え、npm.ps1 の実行エラーの解決、きれいに削除する方法までまとめます。nvm を使わずに winget で Node.js だけをインストールする方法も扱います。

1. 準備するもの

  • Windows 11 PC(x64)
  • Administrators グループに属するユーザー アカウント — インストール中に「ユーザー アカウント制御」の確認画面で Yes を 1 回押します
  • インターネット接続

この文書の手順はすべて、Windows 11 Pro 25H2(ビルド 26200、x64)の仮想マシン(2 vCPU・メモリ 4GB)で確認しました。Administrators グループに属する通常のアカウントでサインインし、PowerShell のスクリプト実行ポリシーは Windows 11 の既定値(Restricted)のまま進めました。

2. インストール方法を選ぶ

この文書では 2 つの方法を扱います。

  • nvm-windows でインストール(推奨):Node.js の複数のバージョンをインストールしておき、コマンド 1 行で切り替えて使えます。プロジェクトごとに必要な Node.js のバージョンが異なる場合に必要です。3〜9 の手順で扱います。
  • winget で Node.js だけをインストール:Node.js を 1 つのバージョンだけ使う場合は簡単です。10 の手順で扱います。

2 つの方法を同じ PC で併用すると、どの node が実行されるのか分かりにくくなります。どちらか 1 つを選んでください。

3. インストール前の状態を確認

スタート メニューで PowerShell を検索して開きます。管理者として開く必要はありません。Node.js がインストールされていなければ、次のように node コマンドが見つからないというエラーが表示されます。

node -v
node : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.

バージョンが表示された場合は、Node.js がすでにインストールされています。nvm-windows で管理するには、12 の削除手順か 設定 › アプリ › インストールされているアプリ で、先に既存の Node.js を削除してください。

4. nvm-windows をダウンロード

nvm-windows のインストーラーは GitHub のリリース ページ(github.com/nvm-windows/nvm/releases)にあります。以前のアドレス coreybutler/nvm-windows からここへ移りました。リリース ページから nvm-2.0.1-x64-setup.exe をダウンロードするか、PowerShell で次のコマンドを実行してダウンロード フォルダーに保存します。curl.exe は Windows 11 に標準で入っているダウンロード ツールです。-L はアドレスが別の場所へ転送されたらそれに従うという意味、-o は保存するファイル名です。

curl.exe -L -o "$env:USERPROFILE\Downloads\nvm-2.0.1-x64-setup.exe" https://github.com/nvm-windows/nvm/releases/download/v2.0.1/nvm-2.0.1-x64-setup.exe

ダウンロードしたファイルに正しいデジタル署名があるか確認します。Status が Valid で、署名者が Author Software Inc. なら正常です。

Get-AuthenticodeSignature "$env:USERPROFILE\Downloads\nvm-2.0.1-x64-setup.exe" | Format-List Status, SignerCertificate
Status            : Valid
SignerCertificate : [Subject]
                      CN=Author Software Inc., O=Author Software Inc., L=Austin, S=Texas, C=US

5. nvm-windows をインストール

ダウンロード フォルダーの nvm-2.0.1-x64-setup.exe をダブルクリックするか、PowerShell から実行します。

& "$env:USERPROFILE\Downloads\nvm-2.0.1-x64-setup.exe"

ライセンスの画面で I accept the agreement を選び、Next を押します。

NVM for Windows 2.0.1 セットアップ ウィザードのライセンス同意画面
ライセンス同意画面

Node.js のバージョンを保存するフォルダーです。既定値はユーザー フォルダー内の AppData\Local\Author Software\nvm\installs です。そのままにして Next を押します。

Node.js の保存場所を選ぶ画面
Node.js の保存場所

動作モードは既定値の Shim のままにします。Shim は、node・npm コマンドを nvm が作った起動用ファイル経由で実行する方式なので、バージョンを切り替えるときに管理者権限が要りません。

Shim と Link から動作モードを選ぶ画面
動作モード(Shim を推奨)

既定の設定画面もそのままにして Next を押します。この設定はインストール後も nvm config コマンドで変更できます。

nvm の既定の設定画面
既定の設定

開発のお知らせを受け取るメール アドレスを尋ねる画面です。任意なので、欄に入っている name@example.com を消して空欄のまま Next を押します。

メール アドレス欄を空にした画面
メール アドレスは空欄のまま

インストール内容を確認して Install を押します。Announcements email: Not provided と表示されていれば、メール アドレスは入力されていません。

インストール準備完了の画面
インストール準備完了

インストール中に nvm.exe のユーザー アカウント制御の確認画面が表示されます。発行元が Author Software Inc. であることを確認して Yes を押します。nvm を Windows のイベント ログに登録する手順で管理者権限が必要になるためです。

nvm.exe のユーザー アカウント制御の確認画面
ユーザー アカウント制御の確認画面

完了画面で Finish を押します。

NVM for Windows のインストール完了画面
インストール完了

6. nvm のインストールを確認

開いていた PowerShell ウィンドウを閉じて、新しく開きます。インストール前に開いたウィンドウは、変更された環境変数(PATH)を読み込めないため、nvm コマンドを見つけられません。新しいウィンドウでバージョンを確認します。

nvm version
v2.0.1

7. Node.js LTS をインストール

LTS は長期サポートの安定版です。特に理由がなければ LTS をインストールします。lts と書くと、最新の LTS バージョンを探してインストールします。

nvm install lts
Now using Node.js v24.21.0 by default.
Installed 1 version: 24.21.0
Completed in 54s

最初にインストールしたバージョンはすぐに既定のバージョンになります。node、npm、npx が実行できるか確認します。

node -v
v24.21.0
npm -v
11.19.0
npx -v
11.19.0

どのファイルが実行されるかも確認できます。3 つのコマンドはすべて nvm フォルダーの .exe ファイルにつながっています。

Get-Command node, npm, npx | Format-Table Name, CommandType, Source -AutoSize
Name     CommandType Source
----     ----------- ------
node.exe Application C:\Users\devuser\AppData\Local\Author Software\nvm\.nodejs\node.exe
npm.exe  Application C:\Users\devuser\AppData\Local\Author Software\nvm\.nodejs\npm.exe
npx.exe  Application C:\Users\devuser\AppData\Local\Author Software\nvm\.nodejs\npx.exe

8. 別のバージョンのインストールと切り替え

インストールできるバージョンを確認します。数字は表示するメジャー バージョンで、--limit=6 は新しいものから 6 個だけ表示するという意味です。

nvm list releases 24 22 --limit=6
  Version   Released
  -------   ----------
* v24.21.0  2026-09-07  installed, current default
  v24.20.0  2026-08-26
  v24.19.0  2026-08-03
  v24.18.1  2026-07-28  security release
  v24.18.0  2026-06-23
  v24.17.0  2026-06-17  security release

6 versions listed.

Node.js 22 も追加でインストールします。メジャー バージョンだけを書くと、そのバージョンの最新版がインストールされます。2 つ目以降はインストールだけされ、既定のバージョンは変わりません。

nvm install 22
Installed 1 version: 22.23.3
Completed in 32s

インストール済みのバージョン一覧を確認します。* と (default) が付いているのが、今使っているバージョンです。

nvm list
* 24.21.0  (default)
  22.23.3

nvm use でバージョンを切り替えます。管理者権限は要りません。

nvm use 22
Now using Node.js v22.23.3 by default.
node -v
v22.23.3

LTS に戻すときは lts と書きます。

nvm use lts
Now using Node.js v24.21.0 by default.
node -v
v24.21.0

9. npm で最初のプロジェクトを実行

正しくインストールできたか、npm パッケージを 1 つインストールして実行してみます。ユーザー フォルダーの下に hello-node フォルダーを作って移動します。npm init -y は、質問なしで既定値の package.json ファイルを作るという意味です。

mkdir hello-node; cd hello-node
npm init -y

フォルダーの情報と、作成された package.json の内容が表示されます。続いて、日付を扱う dayjs パッケージをインストールします。

npm install dayjs
added 1 package, and audited 2 packages in 2s

found 0 vulnerabilities

dayjs を使う index.js ファイルを作って実行します。Set-Content は引用符の中の内容でファイルを作るコマンドなので、何も出力されません。

Set-Content index.js "const dayjs = require('dayjs'); console.log('Hello Node.js', process.version, dayjs().format('YYYY-MM-DD'));"
node index.js
Hello Node.js v24.21.0 2026-10-11

Node.js のバージョンと今日の日付が表示されれば、Node.js と npm はどちらも正常です。

10. (別の方法)winget で Node.js だけをインストール

複数のバージョンが不要なら、Windows 11 に入っているパッケージ マネージャー winget で Node.js だけをインストールできます。まず、インストールできる Node.js パッケージを検索します。winget を初めて使うと、Microsoft Store ソースの規約への同意を求められます。Y を入力して Enter を押します。

winget search OpenJS.NodeJS
Do you agree to all the source agreements terms?
[Y] Yes  [N] No: y
Name          Id                Version  Source
------------------------------------------------
Node.js       OpenJS.NodeJS     26.8.1   winget
Node.js 22    OpenJS.NodeJS.22  22.23.2  winget
Node.js (LTS) OpenJS.NodeJS.LTS 24.20.0  winget

LTS バージョンをインストールします。インストール中に Node.js のユーザー アカウント制御の確認画面が表示されたら Yes を押します。winget のパッケージは nodejs.org の最新版より少し遅れて公開されます。この文書を確認した日は、nodejs.org の最新 LTS が 24.21.0、winget は 24.20.0 でした。

winget install OpenJS.NodeJS.LTS
Found Node.js (LTS) [OpenJS.NodeJS.LTS] Version 24.20.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v24.20.0/node-v24.20.0-x64.msi
  ██████████████████████████████  31.6 MB / 31.6 MB
Successfully verified installer hash
Starting package install...
The installer will request to run as administrator. Expect a prompt.
Successfully installed

PowerShell ウィンドウを閉じて新しく開き、確認します。node は実行できますが、Windows 11 の既定の設定では npm が次のエラーで実行できません。

node -v
v24.20.0
npm -v
npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For
more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.

公式インストーラーは npm を PowerShell スクリプト(npm.ps1)として実行しますが、Windows 11 の PowerShell スクリプト実行ポリシーの既定値は Restricted(スクリプトを実行しない)だからです。

Get-ExecutionPolicy -List
        Scope ExecutionPolicy
        ----- ---------------
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine      Restricted

現在のユーザーだけに RemoteSigned ポリシーを適用します。RemoteSigned は、この PC にあるスクリプトは実行し、インターネットからダウンロードしたスクリプトは署名がある場合だけ実行するポリシーです。-Scope CurrentUser で適用すると管理者権限は要らず、ほかのユーザーには影響しません。

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Get-ExecutionPolicy -Scope CurrentUser
RemoteSigned
npm -v
11.19.0

11. トラブルシューティング

nvm : The term 'nvm' is not recognized as the name of a cmdlet, function, script file, or operable program.

nvm をインストールする前に開いた PowerShell ウィンドウで実行したという意味です。このウィンドウは、インストール後に変更された環境変数(PATH)を読み込めません。ウィンドウを閉じて新しく開いてください。新しいウィンドウでも同じエラーが出る場合は、設定 › アプリ › インストールされているアプリ に NVM for Windows があるか確認してください。

npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system.

公式インストーラーや winget で Node.js をインストールし、PowerShell のスクリプト実行ポリシーが Restricted のときに出るエラーです。10 の手順のように Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned を実行するか、npm.cmd で実行してください。nvm-windows 2.0 でインストールした場合は npm が npm.exe として実行されるため、このエラーは発生しません。

Note: The 'available' argument is deprecated. Please use 'releases' instead.

nvm-windows 1.x で使っていた nvm list available を 2.0 で実行すると、一覧と一緒にこの案内が表示されます。2.0 では nvm list releases を使ってください。nvm list releases 22 のようにメジャー バージョンを書くと、そのバージョンだけが表示されます。

node : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program.

Node.js がインストールされていないか、インストール前に開いたウィンドウで実行したという意味です。新しい PowerShell ウィンドウでもう一度確認してください。nvm を使っている場合は、nvm list でインストール済みのバージョンがあるか、(default) が付いたバージョンがあるかを確認してください。

Remove-Item : Cannot remove item C:\Users\…\AppData\Local\Author Software\nvm\.shim: Access to the path is denied.

nvm-windows 2.0 は、.shim フォルダーをユーザーが変更できないようにロックしています。12 の手順のように、管理者として実行した PowerShell で削除してください。

12. 削除する

Node.js のバージョンを 1 つだけ削除

nvm でインストールしたバージョンのうち 1 つだけを削除するときは nvm uninstall を使います。

nvm uninstall 22
Uninstalled Node.js v22.23.3
nvm list
* 24.21.0  (default)

nvm-windows を削除

設定 › アプリ › インストールされているアプリ(英語版: Settings › Apps › Installed apps)で nvm を検索します。nvm でインストールした Node.js も、Node.js Krypton via nvm-windows のように一覧に表示されます。NVM for Windows の右の … を押し、Uninstall を押します。

インストールされているアプリで nvm を検索した画面
インストールされているアプリで nvm を検索
Uninstall の確認吹き出し
Uninstall の確認

nvm が管理している Node.js のバージョンもすべて削除されるという案内が表示されます。Yes を押し、続けて表示される「Are you sure you want to completely remove NVM for Windows and all of its components?」でも Yes を押します。

nvm が管理する Node.js のバージョンも削除されるという案内
Node.js バージョンの削除の案内
NVM for Windows の削除完了の案内と空のアプリ一覧
削除完了

残った項目を整理

削除した後も、ユーザーの PATH 環境変数に nvm のパスが 2 行と、.shim フォルダーが残ります。新しい PowerShell ウィンドウで確認します。

[Environment]::GetEnvironmentVariable("Path", "User") -split ";"
C:\Users\devuser\AppData\Local\Author Software\nvm
C:\Users\devuser\AppData\Local\Author Software\nvm\.nodejs
C:\Users\devuser\AppData\Local\Microsoft\WindowsApps

PATH から nvm のパスだけを除いて保存し直します。1 行目は Author Software\nvm を含む行を除いた一覧を作り、2 行目はその一覧をユーザーの PATH として保存します。npm がダウンロードしたパッケージを保管する npm-cache フォルダーも一緒に削除します。

$userPath = [Environment]::GetEnvironmentVariable("Path", "User") -split ";" | Where-Object { $_ -notlike "*Author Software\nvm*" }
[Environment]::SetEnvironmentVariable("Path", ($userPath -join ";"), "User")
Remove-Item "$env:LOCALAPPDATA\npm-cache" -Recurse -Force
[Environment]::GetEnvironmentVariable("Path", "User") -split ";"
C:\Users\devuser\AppData\Local\Microsoft\WindowsApps

残った Author Software フォルダーは、通常の PowerShell では「Access to the path is denied」となり削除できません。管理者として PowerShell を開いて削除します。次の 1 行目を実行するとユーザー アカウント制御の確認画面が表示され、Yes を押すと管理者の PowerShell ウィンドウが開きます。

Start-Process powershell -Verb RunAs

新しく開いた管理者の PowerShell ウィンドウで実行します。False と表示されれば、すべて削除されています。

Remove-Item "$env:LOCALAPPDATA\Author Software" -Recurse -Force
Test-Path "$env:LOCALAPPDATA\Author Software"
False

winget でインストールした Node.js を削除

10 の手順で winget を使ってインストールした場合は、次のコマンドで削除します。ユーザー アカウント制御の確認画面で Yes を押します。インストール フォルダーが残っていなければ False と表示されます。

winget uninstall OpenJS.NodeJS.LTS
Found Node.js [OpenJS.NodeJS.LTS]
Starting package uninstall...
Successfully uninstalled
Test-Path "C:\Program Files\nodejs"
False