Die neue Version 1.2.0 enthält ein Terminal, aber wenn ich versuche, ein Paket mit Knoten zu installieren, erhalte ich die npm ERR! Code EPERM, das ich normalerweise mit der rechten Maustaste löse und als Administrator ausführe. Wie mache ich das im vscode-Terminal? Gibt es so etwas wie Sudo für Linux?
windows
npm
visual-studio-code
Dragod83
quelle
quelle
Antworten:
Option 1 - Einfacher und beständiger
Das Ausführen von Visual Studio Code als Administrator sollte den Trick ausführen.
Wenn Sie unter Windows arbeiten, können Sie:
Stellen Sie sicher, dass alle anderen Instanzen von VS Code geschlossen sind, und versuchen Sie dann, als Administrator ausgeführt zu werden. Das Elektronen-Framework blockiert Prozesse gerne beim Schließen. Überprüfen Sie daher am besten Ihren Task-Manager und beenden Sie die verbleibenden Prozesse.
Verwandte Änderungen in der CodebasisOption 2 - Eher wie Sudo
Wenn Ihre Befehle aus irgendeinem Grund nicht als Administrator ausgeführt werden, können Sie den
Beispielerunas
Befehl ausprobieren . Microsoft: Befehl runasrunas /user:Administrator myCommand
runas "/user:First Last" "my command"
quelle
C:\Program Files\Microsoft VS Code\Code.exe
PATH
Systemumgebungsvariablen hinzufügen . Sie können auch versuchen, zu überprüfen, ob es vorhanden ist, indem Sie etwas tunwhere.exe npm
odernpm -v
die Version anzeigen. Auch wenn Sie Powershell verwenden, müssen Sie manchmal exe am Ende hinzufügen, damit Sie etwas haben wie:runas.exe /user:Administrator myCommand
Administrator
und Sie erzielen das gleiche Ergebnis.Als Administrator zu laufen hat mir nicht geholfen. (habe auch Fehler mit syscall: umbenennen)
Es stellt sich heraus, dass dieser Fehler auch auftreten kann, wenn Dateien von Windows gesperrt werden.
Dies kann auftreten, wenn:
Wenn Sie als Administrator ausgeführt werden, kommt das Sperren von Windows-Dateien nicht um.
Ich habe in VS2017 ein neues Projekt erstellt und dann zu VSCode gewechselt, um zu versuchen, weitere Pakete hinzuzufügen. Nachdem das Projekt nicht mehr ausgeführt und VS2017 geschlossen werden konnte, konnte es ohne Fehler abgeschlossen werden
Haftungsausschluss: Ich bin mir nicht ganz sicher, ob dies bedeutet, dass es nicht erforderlich ist, als Administrator zu arbeiten. Versuchen Sie jedoch, dies nach Möglichkeit zu vermeiden, um die Möglichkeit zu vermeiden, dass ein betrügerisches Paket Dinge tut, für die es nicht bestimmt ist.
quelle
Schritt 1: Starten Sie VS Code als Administrator neu
(Klicken Sie auf die Windows-Taste, suchen Sie nach "Visual Studio Code", klicken Sie mit der rechten Maustaste und Sie sehen die Administratoroption.)
Schritt 2: In Ihrem VS-Code-Powershell-Terminal ausführen
Set-ExecutionPolicy Unrestricted
quelle
Folgendes bekomme ich.
Ich verwende Visual Studio Code und sein Terminal, um die 'npm'-Befehle auszuführen.
Visual Studio-Code (nicht als Administrator)
PS g: \ labs \ myproject> npm installiere bootstrap @ 3
Führt zu Scandir- und / oder Berechtigungsfehlern.
Visual Studio-Code (als Administrator)
Führen Sie diesen Befehl aus, nachdem ich so etwas wie 'ng serve' ausgeführt habe.
PS g: \ labs \ myproject> npm installiere bootstrap @ 3
Führt zu Scandir- und / oder Berechtigungsfehlern.
Visual Studio-Code (als Administrator - Schließen und Öffnen der IDE)
Wenn ich bereits andere Befehle ausgeführt habe, die sich auf Knotenmodule auswirken würden, habe ich beschlossen, zuerst Visual Studio-Code zu schließen, ihn als Administrator zu öffnen und dann den folgenden Befehl auszuführen:
PS g: \ labs \ myproject> npm installiere bootstrap @ 3
Das Ergebnis, das ich dann bekomme, ist: + [email protected]
hat 115 Pakete hinzugefügt und 1 Paket in 24.685s aktualisiert
Dies ist keine dauerhafte Lösung, da ich VS Code nicht jedes Mal schließen möchte, wenn ich einen npm-Befehl ausführen möchte, aber das Problem wurde bis zu einem gewissen Punkt behoben.
quelle