Windowsで「npx が認識されない」エラーが出たときの解決方法

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

こんなエラーです↓

Node.js をインストールした直後に PowerShell で

npx -v

を打つと、

npx : 用語 'npx' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。

というエラーに遭遇することがあります。今回はこの問題を実際に解決した手順をまとめます。


原因

  • Node.js はインストール済みでも PATH が反映されていない
  • または PowerShell の 実行ポリシー によって npm.ps1 / npx.ps1 がブロックされる

この2点が主な原因です。


1. Node.js の存在を確認

まずは実体があるかチェックします。

Get-ChildItem "C:\Program Files\nodejs" -Name

ここで node.exe, npm.cmd, npx.cmd が見えればインストール自体は成功しています。


2. 一時的に PATH を通して確認

PATH が反映されていない場合は、セッションに直接追加します。

$env:Path = "C:\Program Files\nodejs;$env:Path"
& "C:\Program Files\nodejs\node.exe" -v
& "C:\Program Files\nodejs\npm.cmd" -v
& "C:\Program Files\nodejs\npx.cmd" -v

これでバージョン番号が表示されれば、Node.js は問題なく動作しています。


3. 実行ポリシーによるブロックを回避

npm.ps1 / npx.ps1 がブロックされる場合は、.cmd を直接呼び出せば回避できます。

npm.cmd -v
npx.cmd -v

もしくはユーザー範囲だけポリシーを緩める方法もあります。

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

4. PATH を恒久化する

一度通っても、新しい PowerShell ウィンドウでは再びエラーが出ることがあります。その場合は環境変数を恒久的に修正します。

$nodeDir = "C:\Program Files\nodejs"
$current = [Environment]::GetEnvironmentVariable('Path','User')
if ($current -notlike "*$nodeDir*") {
  [Environment]::SetEnvironmentVariable('Path', ($current.TrimEnd(';') + ';' + $nodeDir), 'User')
}

PowerShell を閉じて開き直すと反映されます。


5. 正しい npx の使い方

最後に補足です。npxパッケージ名 を渡すのが正しい使い方で、URLを直接指定しても動きません。

例:Gemini CLI を一時実行する場合

npx -y @google/gemini-cli

まとめ

  • Node.js の実体があるか確認
  • PATH を一時的に通して動作チェック
  • 実行ポリシーのブロックは .cmd で回避
  • 環境変数を修正して恒久化
  • npx はパッケージ名で実行する

これで「npx が認識されません」エラーは解消できます。実際に筆者もこの流れで無事解決し、Gemini CLI を動かすことができました。

👉 同じエラーに悩んでいる方は、まずは C:\Program Files\nodejs を確認するところから始めてみてください。

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。