it-swarm.com.de

Bei npm-Installation: Nicht behandelte Zurückweisung Fehler: EACCES: Berechtigung verweigert

Ich habe es geschafft, meine npm -Installation zu beschädigen, und wann immer ich versuche, Pakete mit npm install zu installieren, erhalte ich folgende Fehlermeldungen:

Unbehandelter Ablehnungsfehler: EACCES: Berechtigung verweigert, öffnen Sie "/Users/marknorgate/.npm/_cacache/tmp/a449402d".

Ich habe versucht, node & npm neu zu installieren, und ich habe auch versucht, meinen npm-Cache mit diese Anweisungen an eine andere Stelle zu verschieben, aber nichts funktioniert.

Wie kann ich es zum Laufen bringen?

201
serlingpa

Stellen Sie den Besitz der mit npm zusammenhängenden Ordner des Benutzers für den aktuellen Benutzer wie folgt wieder her:

Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config
691
SrAxi

Sudo chown -R $(whoami) ~/.npm

Sudo chown -R $(whoami) ~/.config

47
Osama Rashid

Dies passiert, wenn Sie NPM zum ersten Mal mit Sudo ausführen, zum Beispiel, wenn Sie versuchen, npm install -g auszuführen.

Die Cache-Ordner müssen dem aktuellen Benutzer gehören, nicht root.

Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config

Dadurch erhalten die oben genannten Ordner den Besitz, wenn sie mit normalen Benutzerberechtigungen ausgeführt werden (nicht als Sudo).

Beachten Sie auch, dass Sie mit Sudo keine globalen Pakete installieren sollten. Wenn Sie auf Probleme mit Berechtigungen stoßen, sollten Sie Ihr globales Verzeichnis ändern. Die Dokumente empfehlen:

mkdir ~/.npm-global

npm config set prefix '~/.npm-global'

Aktualisiere dann deinen PATH, wo immer du das definierst (~/.profile etc.)

export PATH=~/.npm-global/bin:$PATH

Sie müssen dann sicherstellen, dass die Variable PATH env gesetzt ist (Terminal neu starten oder den Befehl source verwenden).

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

33
Ryu Kent

Die obige Antwort hat bei mir nicht funktioniert. Versuchen Sie einfach, Ihren Befehl mit --unsafe-perm auszuführen.

z.B

npm install -g [email protected] --unsafe-perm

Dies scheint das Problem zu lösen.

8
Junaid Farooq

Wenn keiner der Vorschläge in den Antworten erfolgreich war, versuchen Sie den folgenden Befehl: npm cache clear --force. Es hat bei mir funktioniert.

Ich fand es unter https://github.com/vuejs/vue-cli/issues/1809 .

6
Jen Lim
Sudo npm cache clean --force --unsafe-perm

und dann npm gehe ich normal

5
Mwangi Gituathi

erstellen Sie einfach die Ordner _cache/tmp unter .npm manuell am Speicherort /Users/marknorgate/.npm/_cacache/tmp und führen Sie Ihren Befehl mit Administratorzugriff aus

2
Sudo npm install --unsafe-perm=true --allow-root

Dies war derjenige, der für mich gearbeitet hat

1
BliteKnight

Tun Sie einfach Sudo npm cache clean --force --unsafe-perm und npm i wird normal gehen.

0
James Okunlade

sie können folgenden Befehl für Expo versuchen:

Sudo chown -R $USER:$GROUP ~/.expo
0
cesur bağcı
0
Claudia Vizena