検証済みのドキュメントです
クラウドサーバーを作成し、このドキュメントのコマンドを最初から最後までそのまま実行して確認したドキュメントです。
- 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 -vnode : 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, SignerCertificateStatus : Valid
SignerCertificate : [Subject]
CN=Author Software Inc., O=Author Software Inc., L=Austin, S=Texas, C=US5. 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 を押します。

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

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

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

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

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

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

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

6. nvm のインストールを確認
開いていた PowerShell ウィンドウを閉じて、新しく開きます。インストール前に開いたウィンドウは、変更された環境変数(PATH)を読み込めないため、nvm コマンドを見つけられません。新しいウィンドウでバージョンを確認します。
nvm versionv2.0.17. Node.js LTS をインストール
LTS は長期サポートの安定版です。特に理由がなければ LTS をインストールします。lts と書くと、最新の LTS バージョンを探してインストールします。
nvm install ltsNow using Node.js v24.21.0 by default.
Installed 1 version: 24.21.0
Completed in 54s最初にインストールしたバージョンはすぐに既定のバージョンになります。node、npm、npx が実行できるか確認します。
node -vv24.21.0npm -v11.19.0npx -v11.19.0どのファイルが実行されるかも確認できます。3 つのコマンドはすべて nvm フォルダーの .exe ファイルにつながっています。
Get-Command node, npm, npx | Format-Table Name, CommandType, Source -AutoSizeName 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.exe8. 別のバージョンのインストールと切り替え
インストールできるバージョンを確認します。数字は表示するメジャー バージョンで、--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 22Installed 1 version: 22.23.3
Completed in 32sインストール済みのバージョン一覧を確認します。* と (default) が付いているのが、今使っているバージョンです。
nvm list* 24.21.0 (default)
22.23.3nvm use でバージョンを切り替えます。管理者権限は要りません。
nvm use 22Now using Node.js v22.23.3 by default.node -vv22.23.3LTS に戻すときは lts と書きます。
nvm use ltsNow using Node.js v24.21.0 by default.node -vv24.21.09. npm で最初のプロジェクトを実行
正しくインストールできたか、npm パッケージを 1 つインストールして実行してみます。ユーザー フォルダーの下に hello-node フォルダーを作って移動します。npm init -y は、質問なしで既定値の package.json ファイルを作るという意味です。
mkdir hello-node; cd hello-node
npm init -yフォルダーの情報と、作成された package.json の内容が表示されます。続いて、日付を扱う dayjs パッケージをインストールします。
npm install dayjsadded 1 package, and audited 2 packages in 2s
found 0 vulnerabilitiesdayjs を使う 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.jsHello Node.js v24.21.0 2026-10-11Node.js のバージョンと今日の日付が表示されれば、Node.js と npm はどちらも正常です。
10. (別の方法)winget で Node.js だけをインストール
複数のバージョンが不要なら、Windows 11 に入っているパッケージ マネージャー winget で Node.js だけをインストールできます。まず、インストールできる Node.js パッケージを検索します。winget を初めて使うと、Microsoft Store ソースの規約への同意を求められます。Y を入力して Enter を押します。
winget search OpenJS.NodeJSDo 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 wingetLTS バージョンをインストールします。インストール中に Node.js のユーザー アカウント制御の確認画面が表示されたら Yes を押します。winget のパッケージは nodejs.org の最新版より少し遅れて公開されます。この文書を確認した日は、nodejs.org の最新 LTS が 24.21.0、winget は 24.20.0 でした。
winget install OpenJS.NodeJS.LTSFound 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 installedPowerShell ウィンドウを閉じて新しく開き、確認します。node は実行できますが、Windows 11 の既定の設定では npm が次のエラーで実行できません。
node -vv24.20.0npm -vnpm : 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 CurrentUserRemoteSignednpm -v11.19.011. トラブルシューティング
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 22Uninstalled Node.js v22.23.3nvm 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 が管理している Node.js のバージョンもすべて削除されるという案内が表示されます。Yes を押し、続けて表示される「Are you sure you want to completely remove NVM for Windows and all of its components?」でも Yes を押します。


残った項目を整理
削除した後も、ユーザーの 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\WindowsAppsPATH から 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"Falsewinget でインストールした Node.js を削除
10 の手順で winget を使ってインストールした場合は、次のコマンドで削除します。ユーザー アカウント制御の確認画面で Yes を押します。インストール フォルダーが残っていなければ False と表示されます。
winget uninstall OpenJS.NodeJS.LTSFound Node.js [OpenJS.NodeJS.LTS]
Starting package uninstall...
Successfully uninstalledTest-Path "C:\Program Files\nodejs"Falseこのドキュメントは役に立ちましたか? 間違いや変わった点があればお知らせください。
内容の修正を依頼