ノードモンを使用するとエラーが発生します:「このシステムではスクリプトの実行が禁止されているため、ファイルを読み込むことができません」; Windows 実行ポリシーの変更

エラー内容は以下の通りです。
ここに画像の説明を挿入します

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. 解決策

  1. Windows キー (コンピューターの左下隅) を右クリックし、管理者として PowerShell を開きます。
    ここに画像の説明を挿入します

  2. まず現在の実行戦略を確認できますget-ExecutionPolicy。結果は制限されていることがわかります。
    ここに画像の説明を挿入します

  3. 実行戦略を変更してコマンドを入力しますset-ExecutionPolicy RemoteSigned
    ここでのコマンドは実際には大文字と小文字が区別されず、 と記述できます。 set-executionpolicy remotesigned ;
    ここに画像の説明を挿入します
    A と入力し、Enter キーをクリックして確定します。
    ここに画像の説明を挿入します

  4. Windows 実行ポリシーが正常に変更されたかどうかを確認するには、「get-ExecutionPolicy」と入力すると、変更が成功したことが表示されます。
    ここに画像の説明を挿入します

  5. 重新执行 nodemon -v
    ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/ThisEqualThis/article/details/129852672
おすすめ