Wie kann man Fehler beheben? Nodemon.ps1 kann nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist (ohne Sicherheitsrisiko).

Aug 15 2020

Fehler am Terminal: nodemon.ps1 kann nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter about_Execution_Policies unter https://go.microsoft.com/fwlink/? LinkID = 135170.

Ich habe eine Lösung, um das Problem auf diese Weise zu beheben

  1. Öffnen Sie Windows PowerShell mit Als Administrator ausführen
  2. Führen Sie diesen Befehl aus: Set-ExecutionPolicy Unrestricted

Das löst das Problem, aber auf diese Weise zeigt das System die Warnung vor Sicherheitsrisiken an. Meine Frage: Gibt es eine andere Möglichkeit, dies ohne Sicherheitsrisiko zu lösen? Ziel ist es, nodemon zu verwenden.

Antworten

22 derekbaker783 Aug 15 2020 at 16:56

Ich würde empfehlen , die Richtlinie RemoteSignedim Gegensatz zu zu verwenden Unrestrictedund wenn möglich auf den aktuellen Benutzer zu beschränken.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned : "Die Standardausführungsrichtlinie für Windows- Servercomputer ."



Abgesehen davon würde ich mir keine Sorgen machen, da es kein Sicherheitsmechanismus sein soll. Siehe dieses Zitat aus den Dokumenten:

"Die Ausführungsrichtlinie ist kein Sicherheitssystem, das Benutzeraktionen einschränkt. Beispielsweise können Benutzer eine Richtlinie leicht umgehen, indem sie den Skriptinhalt in die Befehlszeile eingeben, wenn sie kein Skript ausführen können. Stattdessen hilft die Ausführungsrichtlinie Benutzern beim Festlegen von Grundregeln Regeln und verhindert, dass sie unbeabsichtigt verletzt werden. "

8 web_walkerX Aug 15 2020 at 22:41

Es besteht keinerlei Sicherheitsrisiko, wenn remote signierte Skripts auf Ihrem lokalen Computer ausgeführt werden. Dies bedeutet im Grunde, dass Sie lokale nicht signierte Skripte ausführen können, dh von Ihnen geschriebene Skripte, während Skripte von einer Remote-Quelle (in diesem Fall nodemon) von einer vertrauenswürdigen Behörde signiert werden müssen.

PS: Wenn Sie unter Windows arbeiten, können Sie einfach zu Einstellungen >> Update und Sicherheit >> für Entwickler >> gehen und das Kontrollkästchen neben aktivieren change execution policy to allow local powershell scripts to run without signing

1 stp_ Dec 29 2020 at 13:32

Für diejenigen, die nicht wissen, wie dieser Fehler mit Windows PowerShell behoben werden kann

  1. Öffnen Sie PowerShell (Als Administrator ausführen).

  2. Überprüfen Sie die aktuelle Ausführungsrichtlinie mit diesem Befehl

    Get-ExecutionPolicy Sie sollten 'Restricted' erhalten

  3. Führen Sie diesen Befehl aus, um ihn auf "Uneingeschränkt" zu setzen.

    Set-ExecutionPolicy Uneingeschränkt

  4. Überprüfen Sie erneut, ob sich die Ausführungsrichtlinie geändert hat, indem Sie diesen Befehl ausführen. Get-ExecutionPolicy Sie sollten "Uneingeschränkt" erhalten.

  5. Versuchen Sie nun, nodemon in Ihrem Projekt nodemon 'filename.js' auszuführen.

Hoffe das wäre hilfreich

AmanSingh Oct 20 2020 at 20:27

Dieser Befehl könnte helfen

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
kmgt Dec 22 2020 at 16:36

Während der Verwendung von npm empfehle ich, den Befehl nodemon im scriptsAbschnitt zu überbrücken und die Sicherheitseinstellungen unverändert zu lassen.

package.json:

{
    "scripts": {
        "hmr": "nodemon index.js",
        "nodemon": "npm run hmr",
        "start": "node index.js"
    },
    "dependencies": {}
}

npm run nodemonFühren Sie einfach aus, was die hmrLinie hinter den Kulissen laufen lässt .