Ich habe angefangen, Angular zu lernen, aber ich stelle fest, dass Powershell in Windows mir einen Fehler gibt, wenn ich einen eckigen Befehl mache wie:
ng new new-app
oder
ng serve
das ist der Fehler was ich bekommen habe:
ng : File C:\Users\< username >\AppData\Roaming\npm\ng.ps1 cannot be loaded because
running scripts is disabled on this system. For more information, see
about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ ng serve
+ ~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS Ich versuche diese Befehle in cmd und es funktioniert.
Kannst du Rennen Get-ExecutionPolicy und die Ausgabe liefern? Zusätzlich können Sie zu laufen C:\Users\< username >\AppData\Roaming\npm und öffnen Sie die Eigenschaften für ng.ps1um zu sehen, ob es ein Kontrollkästchen gibt, das “blockiert” anzeigt, wenn ja, deaktivieren Sie es.
– Jacob
21. September 2019 um 0:31 Uhr
Ich denke, der beste Weg ist, ng.ps1 zu entfernen, wenn alles wieder funktioniert hat
– Amir Makram
21. September 2019 um 11:32 Uhr
@TheFabio Eigentlich werde ich es nie erfahren, nach dem Löschen von ng.ps1 lief alles perfekt.
– Amir Makram
5. November 2019 um 18:04 Uhr
Meine Ausführungsrichtlinie war nicht das Problem, sondern wie ich die Argumente übermittelte. Wenn Sie im selben Boot sitzen, sehen Sie sich Executing Angular Serve From Powershell With Parameters Fail an
– ΩmegaMan
14. Juni 2021 um 16:11 Uhr
Emir Makram
Entfernen ng.ps1 aus dem Verzeichnis C:\Users\%username%\AppData\Roaming\npm\ Versuchen Sie dann, den npm-Cache unter zu löschen C:\Users\%username%\AppData\Roaming\npm-cache\
FYI das Löschen des Caches war für mich nicht notwendig.
– Edwin Lambregts
1. November 2019 um 13:59 Uhr
Toll, aber warum? Ist es von einer früheren Angular-Installation übrig geblieben und wird nicht mehr korrekt aufgerufen? Warum funktioniert es nicht mehr?
– Patrick
20. November 2019 um 4:55 Uhr
Eigentlich weiß ich es nicht. Ich habe nirgendwo eine Erwähnung für diese Datei gefunden, also dachte ich, dass diese Datei wirklich nicht notwendig ist, also lösche ich sie einfach
– Amir Makram
20. November 2019 um 13:22 Uhr
Ich habe die Ordner „ng.ps1“ (und „ng.cmd“ und „ng“ und „node_modules“) in C:\Users[username]\AppData\Roaming\npm-Ordner. Sie wurden vor 2 Tagen (neu) erstellt, als ich ng update ausführte (ich überprüfte das Änderungsdatum). Nach diesem Update (aktuell 8.3.21, vorher: 8.3.xx) funktioniert das ng nicht mehr mit Powershell. Das Löschen (umbenannt) löste das Problem. Es ist keine Cache-Bereinigung erforderlich, aber in VS Code müssen Sie das Terminal beenden und erneut öffnen. Vielleicht hat Angular den “ng”-Befehl direkt als Powershell-Skript-Let eingeführt, aber das führte zu diesem allgemeinen Berechtigungsproblem?!
– Alex 75
23. Dezember 2019 um 0:24 Uhr
Für alle, die sich fragen, warum das funktioniert: Windows blockiert standardmäßig die Ausführung unsignierter Powershell-Skripte aufgrund von Sicherheitsbedenken. Seltsam ist, warum das Angular-Team dieses Skript beibehält, obwohl es eigentlich das Standardverhalten dafür ist, Angular CLI zu beschädigen, und Systeme mit aktivierter unsignierter Skriptausführung sind eine Minderheit. Durch das Entfernen dieses Powershell-Skripts wird Powershell nur daran gehindert, die .ps1-Datei auszuführen und auf das alte cmd-Skript zurückzugreifen, das ebenfalls funktioniert, aber nie von Microsoft eingeschränkt wurde.
– Dominik Szymanski
9. Februar um 20:02 Uhr
Ich habe mein Problem gelöst, indem ich den folgenden Befehl ausgeführt habe
Dies sollte die richtige Antwort für Neuinstallationen sein.
– Chris
1. April 2020 um 12:06 Uhr
Das scheint richtig zu sein, aber ziemlich unzuverlässig.
– Joghurtu
3. Juni 2020 um 4:33 Uhr
Nach diesem Kommentar gebe ich ‘a’ ein, um alle Richtlinien anzuwenden. Danke!
– Meysam Bagheri
22. Juni 2020 um 18:43 Uhr
Dies schlägt in einigen Unternehmensumgebungen fehl, in denen wir diese Berechtigungen nicht festlegen können.
– Adam Hughes
3. September 2020 um 14:23 Uhr
Hozaifa
script1.ps1 kann nicht geladen werden, da das Ausführen von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter about_Execution_Policies unter http://go.microsoft.com/fwlink/?LinkID=135170
Dieser Fehler tritt aufgrund einer Sicherheitsmaßnahme auf, die verhindert, dass Skripte auf Ihrem System ausgeführt werden, ohne dass Sie dem zugestimmt haben. Öffnen Sie dazu eine Powershell mit Administratorrechten (suchen Sie im Hauptmenü nach Powershell und wählen Sie im Kontextmenü Als Administrator ausführen) und geben Sie Folgendes ein:
set-executionpolicy remotesigned
Warum muss ich das speziell tun, wenn andere Leute nicht das gleiche Problem haben wie ich mit der gleichen Version?
– Joghurtu
9. November 2021 um 15:49 Uhr
Schritt 1
Zuerst müssen Sie die Eingabeaufforderung öffnen und diesen Befehl ausführen.
Öffnen Sie Windows Powershell, führen Sie es als Administrator und die SetExecution-Richtlinie als Unrestricted aus, dann wird es funktionieren.
Willkommen bei SO, vervollständigen Sie Ihre Antwort, indem Sie die Befehle angeben, die die Arbeit erledigen
– Saeed Zhiany
4. November 2019 um 7:23 Uhr
Dies ist ein ziemlich schlechter Ratschlag, da er die Tür öffnet, um jedes PowerShell-Skript auf Ihrem System auszuführen.
– 1internet
15. Juni 2021 um 10:20 Uhr
Wie in einer vorherigen Antwort angegeben Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ist ein besserer Weg, da es weniger anfällig dafür ist, Ihr System für die Ausführung eines bösartigen Skripts zu öffnen. RemoteSigned 1) Das Skript muss von einem vertrauenswürdigen Herausgeber signiert werden. 2) Der Geltungsbereich wird auf den aktuellen Benutzer anstelle des Standardwerts LocalMachine festgelegt. Weitere Einzelheiten finden Sie in der Microsoft-Dokumentation. docs.microsoft.com/en-us/powershell/module/…
– 1internet
4. Oktober 2021 um 13:03 Uhr
Willkommen bei SO, vervollständigen Sie Ihre Antwort, indem Sie die Befehle angeben, die die Arbeit erledigen
– Saeed Zhiany
4. November 2019 um 7:23 Uhr
Dies ist ein ziemlich schlechter Ratschlag, da er die Tür öffnet, um jedes PowerShell-Skript auf Ihrem System auszuführen.
– 1internet
15. Juni 2021 um 10:20 Uhr
Wie in einer vorherigen Antwort angegeben Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ist ein besserer Weg, da es weniger anfällig dafür ist, Ihr System für die Ausführung eines bösartigen Skripts zu öffnen. RemoteSigned 1) Das Skript muss von einem vertrauenswürdigen Herausgeber signiert werden. 2) Der Geltungsbereich wird auf den aktuellen Benutzer anstelle des Standardwerts LocalMachine festgelegt. Weitere Einzelheiten finden Sie in der Microsoft-Dokumentation. docs.microsoft.com/en-us/powershell/module/…
– 1internet
4. Oktober 2021 um 13:03 Uhr
13124300cookie-checkWarum führt Powershell keine Angular-Befehle aus?yes
Kannst du Rennen
Get-ExecutionPolicy
und die Ausgabe liefern? Zusätzlich können Sie zu laufenC:\Users\< username >\AppData\Roaming\npm
und öffnen Sie die Eigenschaften fürng.ps1
um zu sehen, ob es ein Kontrollkästchen gibt, das “blockiert” anzeigt, wenn ja, deaktivieren Sie es.– Jacob
21. September 2019 um 0:31 Uhr
Ich denke, der beste Weg ist, ng.ps1 zu entfernen, wenn alles wieder funktioniert hat
– Amir Makram
21. September 2019 um 11:32 Uhr
@TheFabio Eigentlich werde ich es nie erfahren, nach dem Löschen von ng.ps1 lief alles perfekt.
– Amir Makram
5. November 2019 um 18:04 Uhr
Meine Ausführungsrichtlinie war nicht das Problem, sondern wie ich die Argumente übermittelte. Wenn Sie im selben Boot sitzen, sehen Sie sich Executing Angular Serve From Powershell With Parameters Fail an
– ΩmegaMan
14. Juni 2021 um 16:11 Uhr