エラー内容は以下の通りです。
Windows システムは、悪意のあるスクリプトの実行を防ぐために、グローバルにインストールされたスクリプトに制限を課すため、ここでエラーが報告されます。
どうすれば解決できますか?この問題を解決するには、Windows 実行ポリシーを変更します。
1. Windows 実行ポリシーとは何ですか?
Windows は、PowerShell に対して「実行ポリシー」と呼ばれるものを設定します。一部の悪意のあるスクリプトが直接実行されるのを防ぐために、一般的なコンピュータの Windows システムでは、デフォルトで実行ポリシーが Restricted
に設定されており、制限されています。
すべての実行戦略は次のとおりです:
- AllSigned: ローカル マシン上で作成されたスクリプトを含む、すべてのスクリプトと構成ファイルが信頼できる発行者によって署名される必要があります。 (安全ですが、ローカルで書かれたスクリプトも署名する必要があり、面倒です)
- バイパス: スクリプトの実行は妨げられず、プロンプトや警告は表示されません。 (安全ではありません)
- デフォルト: デフォルトの実行ポリシー。通常のデスクトップ Windows のデフォルトは制限付き、サーバー Windows のデフォルトは RemoteSigned です。
- RemoteSigned: インターネットからダウンロードされたすべてのスクリプトと構成ファイルは、信頼できる発行者によって署名される必要があります。ローカル スクリプトには署名する必要はありません。 Windows サーバーのデフォルトの実行ポリシーです。 (より安全)
- 制限付き: 構成ファイルをロードしたり、スクリプトを実行したりできません。デスクトップ Windows のデフォルトの実行ポリシー。 (安全ですが、スクリプトは実行できません)
- 制限なし: すべてのスクリプトの実行を許可します。
各スコープの実行ポリシーを優先順位に従って表示するには、 Get-ExecutionPolicy -List
を使用します。
PowerShell セッションの効果的な実行ポリシーを確認するには、パラメータを指定せずに Get-ExecutionPolicy
を使用します。
Windows 実行ポリシー リファレンス: Learn/PowerShell/Scripting/Reference/Microsoft.PowerShell.Security
2. 解決策
-
Windows キー (コンピューターの左下隅) を右クリックし、管理者として PowerShell を開きます。
-
まず現在の実行戦略を確認できます
get-ExecutionPolicy
。結果は制限されていることがわかります。
-
実行戦略を変更してコマンドを入力します
set-ExecutionPolicy RemoteSigned
、
ここでのコマンドは実際には大文字と小文字が区別されず、 と記述できます。set-executionpolicy remotesigned
;
A
と入力し、Enter キーをクリックして確定します。
-
Windows 実行ポリシーが正常に変更されたかどうかを確認するには、「
get-ExecutionPolicy
」と入力すると、変更が成功したことが表示されます。
-
重新执行
nodemon -v
: