0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

npm実行時のPowerShell実行ポリシーエラーの対処方法

Posted at

発生した問題

npmコマンドを実行しようとしたところ、以下のようなセキュリティエラーが発生しました。

npm : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\nodejs\npm.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照
してください。
+ npm run install:all
+ ~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

原因

PowerShellの実行ポリシーが制限されており、スクリプトの実行が許可されていないことが原因でした。

解決手順

1. PowerShellのインストール

最新のPowerShellをwingetを使用してインストールします:

winget search Microsoft.PowerShell

2. 現在の実行ポリシーの確認

PowerShellを管理者権限で起動し、以下のコマンドで現在の実行ポリシーを確認します:

Get-ExecutionPolicy

結果が"Restricted"であることを確認しました。

3. 実行ポリシーの変更

以下のコマンドを実行して、実行ポリシーを"RemoteSigned"に変更します:

Set-ExecutionPolicy RemoteSigned

実行ポリシーについて

PowerShellの実行ポリシーには以下の種類があります:

実行ポリシー 署名あり 署名なし/ローカル 署名なし/非ローカル 説明
Restricted x x x すべてのスクリプトの実行を制限 (初期設定)
AllSigned o x x 署名のあるスクリプトのみ実行可能
RemoteSigned o o x ローカル上のスクリプトと非ローカル上の署名のあるスクリプトのみ実行可能
Unrestricted o o すべてのスクリプトが実行可能だが非ローカル上のスクリプトは実行時に許可が必要
Bypass o o o すべてのスクリプトが実行可能

この設定変更後、npmコマンドが正常に実行できるようになりました。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?