本日はNode.jsの小ネタ枠です。
PowerShellでnpmコマンドの実行が失敗する問題の対処についてです。
事象
PowerShellでnpmコマンドを実行しようとすると「スクリプトの実行が無効になっている」エラーが発生します。
Node.jsはインストール済みでnodeコマンドは問題なく成功します。

またこのときコマンドプロンプトではnodeコマンド、npmコマンド共に問題なく動作します。

原因
エラー文の通り、スクリプトの実行を制限するポリシーとなっていることが原因です。
PowerShellはデフォルトでは全てのスクリプトの実行が制限される設定となっています。
対処
以下のSet-ExecutionPolicyコマンドを実行して権限設定を変更できます。
これでnpmコマンドが実行できるようになります。
Set-ExecutionPolicy RemoteSigned -Scope Process
[RemoteSigned]を指定することでローカルスクリプトを実行可能になります。
[-Scope Process]を指定することで権限の変更はその端末内でのみ有効になります。

参考ページ
権限の種別などの詳細については以下の記事で解説しています。
bluebirdofoz.hatenablog.com