PowerShellでnpm(やnpmの関連コマンド)を実行しようとすると以下のようなエラーが発生します。
エラーの詳細
npm : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\nodejs\npm.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
- npm
- ~~~
- CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
- FullyQualifiedErrorId : UnauthorizedAccess

ここでは、このエラーの原因と対処法をまとめています。
エラーの原因
PowerShell ではデフォルトで、npm が作るコマンドスクリプトである「 .ps1」という拡張子のスクリプトの実行が禁止されています。
このため、実行しようとするとセキュリティエラーが発生します。
対処法
対処法はとても簡単です。主に以下の2つの方法があります。(どちらでも構いません)
エラー対処法
- コマンドプロンプトを使う
- PowerShellのセキュリティを緩める
コマンドプロンプトを使う
一番簡単な方法は、npmやその関連スクリプトを実行したいときは「コマンドプロンプト(cmd)」を使うことです。
エラーが発生せず問題なく実行ですることができます。
PowerShellのセキュリティを緩める
どうしても PowerShell を使いたい場合は、管理者としてPowerShellを起動してから以下のコマンドを実行します。
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedこれで、npmやその関連コマンドが使えるようになります。


