Wie kann man Fehler beheben? Nodemon.ps1 kann nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist (ohne Sicherheitsrisiko).
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
- Öffnen Sie Windows PowerShell mit Als Administrator ausführen
- 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
Ich würde empfehlen , die Richtlinie RemoteSigned
im Gegensatz zu zu verwenden Unrestricted
und 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. "
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
Für diejenigen, die nicht wissen, wie dieser Fehler mit Windows PowerShell behoben werden kann
Öffnen Sie PowerShell (Als Administrator ausführen).
Überprüfen Sie die aktuelle Ausführungsrichtlinie mit diesem Befehl
Get-ExecutionPolicy Sie sollten 'Restricted' erhalten
Führen Sie diesen Befehl aus, um ihn auf "Uneingeschränkt" zu setzen.
Set-ExecutionPolicy Uneingeschränkt
Ü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.
Versuchen Sie nun, nodemon in Ihrem Projekt nodemon 'filename.js' auszuführen.
Hoffe das wäre hilfreich
Dieser Befehl könnte helfen
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Während der Verwendung von npm empfehle ich, den Befehl nodemon im scripts
Abschnitt 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 nodemon
Führen Sie einfach aus, was die hmr
Linie hinter den Kulissen laufen lässt .