Fehlerbehebung: ng.ps1 kann nicht geladen werden, da die Ausführung von Skripten deaktiviert ist
Hier ist ein kompaktes Tutorial, um das Problem mit der PowerShell-Skriptausführung unter Windows 10 zu lösen.
Wenn du versuchst, Angular-Befehle (wie ng serve oder ng new) in der PowerShell zu nutzen, erscheint oft eine Fehlermeldung, die besagt, dass die Datei ng.ps1 nicht geladen werden kann. Dies liegt an der sogenannten Execution Policy von Windows, die das Ausführen von Skripten aus Sicherheitsgründen standardmäßig blockiert.
Folge diesen Schritten, um das Problem zu beheben:
Schritt 1: PowerShell als Administrator öffnen
Damit du die Sicherheitsrichtlinien ändern kannst, benötigst du Administratorrechte.
- Drücke die Windows-Taste.
- Tippe PowerShell ein.
- Klicke mit der rechten Maustaste auf „Windows PowerShell“ und wähle Als Administrator ausführen.
Schritt 2: Aktuelle Richtlinie prüfen (Optional)
Falls du sehen möchtest, welche Einstellung aktuell aktiv ist, gib folgenden Befehl ein:
Get-ExecutionPolicy
Wahrscheinlich wird hier Restricted angezeigt.
Schritt 3: Skriptausführung erlauben
Um das Ausführen von lokalen Skripten (wie denen von Angular) zu erlauben, gib den folgenden Befehl ein:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Erklärung der Parameter:
RemoteSigned: Erlaubt lokal erstellte Skripte. Skripte aus dem Internet müssen von einem vertrauenswürdigen Herausgeber signiert sein.-Scope CurrentUser: Die Änderung gilt nur für deinen aktuellen Windows-Benutzer (dies ist sicherer, als das gesamte System umzustellen).
Schritt 4: Bestätigung
Nachdem du den Befehl abgeschickt hast, erscheint eine Sicherheitsabfrage.
- Tippe Y (für Ja) oder A (für Ja, alle) ein.
- Drücke Enter.
Schritt 5: Erfolg überprüfen
Du kannst nun testen, ob Angular funktioniert. Gib dazu einfach ein:
ng version
Die Fehlermeldung sollte nun verschwunden sein und die Versionsinfo von Angular wird angezeigt.
Sicherheitshinweis
Stelle die Richtlinie niemals auf Unrestricted, da dies ein Sicherheitsrisiko darstellt und jedes beliebige Skript ohne Warnung ausführt. Die Einstellung RemoteSigned ist der Standard-Standardwert für Entwickler-Umgebungen und bietet einen guten Kompromiss zwischen Komfort und Sicherheit.