Ich habe gerade node und npm über das Paket auf nodejs.org installiert und jedes Mal, wenn ich versuche, etwas mit npm zu suchen oder zu installieren, wird der folgende Fehler ausgegeben, es sei denn, ich sudo den Befehl. Ich habe das Gefühl, dass dies ein Berechtigungsproblem ist. Ich bin schon der admin.
npm ERR! Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json'
npm ERR! { [Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/Users/chietala/.npm/-/all/.cache.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 12.2.0
npm ERR! command "node" "/usr/local/bin/npm" "search" "bower"
npm ERR! cwd /Users/chietala
npm ERR! node -v v0.10.4
npm ERR! npm -v 1.2.18
npm ERR! path /Users/chietala/.npm/-/all/.cache.json
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/chietala/npm-debug.log
npm ERR! not ok code 0
sudo chown
: github.com/sindresorhus/guides/blob/master/…Antworten:
Dies scheint ein Berechtigungsproblem in Ihrem Home-Verzeichnis zu sein. Führen Sie Folgendes aus , um den Besitz des .npm- Verzeichnisses zurückzugewinnen:
quelle
whoami
das wäre ein Platzhalter, aber es funktioniert so, wie es ist, also muss es eine Variable sein, die ich nicht verstehe.whoami
sicher, dass es korrekt ausgeführt und dann in den Chown-Befehl gestellt wirdsudo chown -R simpleascouldbe ~/.npm
Berechtigungen verwendet , um Sie bei der Installation von Knoten erforderlich sein , wenn die Dinge zu tun , wie in Ihrem Schreiben npm Verzeichnis (
npm link
,npm install -g
usw.).Sie haben wahrscheinlich die Knoteninstallation mit Root-Berechtigungen ausgeführt. Aus diesem Grund werden Sie bei der globalen Paketinstallation aufgefordert, Root zu sein.
Lösung 1: NVM
Auf einer Entwicklungsmaschine, sollten Sie nicht installieren und Knoten mit Root - Rechten laufen, sonst Dinge wie
npm link
,npm install -g
werden die gleichen Berechtigungen benötigen.Mit NVM (Node Version Manager) können Sie Node ohne Root-Berechtigungen installieren und viele Node-Versionen installieren, um problemlos damit zu spielen. Perfekt für die Entwicklung.
nvm install node
Nun
npm link
,npm install -g
nicht mehr benötigen Sie root zu sein.Bearbeiten: Siehe auch https://docs.npmjs.com/getting-started/fixing-npm-permissions
Lösung 2: Installieren Sie Pakete global für einen bestimmten Benutzer
Wenn Sie unter OSX oder Linux arbeiten, können Sie ein benutzerdefiniertes Verzeichnis für Ihr globales Paket und Setup erstellen
npm
undnode
erfahren, wie Sie global installierte Pakete finden.In diesem großartigen Artikel finden Sie schrittweise Anleitungen zur globalen Installation von npm-Modulen ohne sudo.
Siehe auch: npm-Dokumentation zum Korrigieren von npm-Berechtigungen .
quelle
npm ls -gp | awk -F/ '/node_modules/ && !/node_modules.*node_modules/ {print $NF}' | xargs npm -g rm
- Ich musste nodejs und in einer Root-Shell neu installieren und deinstallieren, sonst haben Sie weiterhin Symlinks zu yo, grunt, etc…sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
ich zuerst stackoverflow.com/a/22290968/1449157 ausgeführt und sie dann entferntnpm
und installiert habenvm
Außerdem benötigen Sie die Schreibberechtigung im
node_modules
Verzeichnis:quelle
~/tmp
Verzeichnis für mich.node_modules
in/usr/local/lib/
. wtf?Then I ran sudo chown -R $USER /* and everything was fine
- NEIN - Sie ruinieren Ihre Maschine.Das Ändern des Besitzers in "system-globalen" Ordnern ist ein Hack. Bei einer Neuinstallation würde ich NPM so konfigurieren, dass ein bereits beschreibbarer Speicherort für "benutzer-globale" Programme verwendet wird:
Stellen Sie dann sicher, dass Sie diesen Ordner Ihrem Pfad hinzufügen:
Siehe @ErikAndreas ' Antwort auf NPM-Module, die ohne sudo nicht global installiert werden können, und eine längere Schritt-für-Schritt-Anleitung von @sindresorhus mit ebenfalls festgelegten Sätzen
$MANPATH
.quelle
$HOME
Ihr.profile
Skript normalerweise um$PATH
das nächste Mal kümmert , wenn Sie das Präfix auf "setzen" (z. B. wenn Sie sich das nächste Mal anmelden).$HOME
und könnte andere (zukünftige?) NPM-Dateien / Unterordner stören. Ziehen Sie es vor, Binärdateien von verschiedenen Paketmanagern / Sprachen / Buildsystemen getrennt zu halten und$PATH
stattdessen explizit (in einem Anmeldezeitskript) festzulegen.~/lib/node_modules
, mit der zugehörigen CLI, falls vorhanden, in~/bin
. Für viele Anwender, vor allem , wenn sie nicht über root, beide~/bin
und sind~/lib
bereits vorhanden.~/bin
und machen dasselbe für einen oder zwei zusätzliche Paketmanager. Es kann heute oder morgen nicht passieren, aber es besteht ein klares Risiko, dass zwei Pakete von verschiedenen Managern eine Namenskollision haben und die Dateien der anderen überschreiben. Das ist gut genug für mich, um separate Präfixe zu haben. (Konkrete Beispiele wärenDies trat bei der Installation von Recess ( https://github.com/twitter/recess ) auf, um mein CSS für Bootstrap 3 zu kompilieren.
Bei der Installation der Aussparung:
Sie müssen Berechtigungen in Ihrem
home
Verzeichnis entsperren , wie Noah sagt:Sie benötigen auch Schreibberechtigungen für das
node_modules
Verzeichnis, wie Xilo sagt. Wenn es immer noch nicht funktioniert, versuchen Sie Folgendes :Wenn immer noch Fehler angezeigt werden, müssen Sie möglicherweise auch die Berechtigungen korrigieren
/usr/local
:Bitte beachten Sie, dass, wie in diesem Beitrag angegeben,
/usr/local/
kein Systemverzeichnis ist, wenn Sie auf einem Mac arbeiten. Daher ist diese Antwort für Mac-Benutzer absolut "sicher". Wenn Sie jedoch unter Linux arbeiten, finden Sie in der folgenden Antwort von Christopher Will eine benutzerfreundliche, systemdirektsichere (aber komplexere) Lösung.quelle
Achtung!!! Achtung!!! Achtung!!!
chown oder chmod ist aus Sicherheitsgründen NICHT die Lösung.
Tun Sie stattdessen Folgendes:
Überprüfen Sie zuerst, wohin npm zeigt, wenn Sie anrufen:
Wenn / usr zurückgegeben wird, können Sie Folgendes tun:
Dadurch wird ein npm-Verzeichnis in Ihrem Home-Verzeichnis erstellt und darauf
npm
verwiesen.Um diese Änderungen dauerhaft zu erhalten, müssen Sie den Befehl export zu Ihrer .bashrc hinzufügen:
quelle
$PATH
, nicht die Zeichenfolge selbst. Das solltest du ändern.Andere Antworten schlagen vor, die Eigentümer oder Berechtigungen von Systemverzeichnissen für einen bestimmten Benutzer zu ändern. Ich rate dringend davon ab, dies kann sehr umständlich werden und das gesamte System durcheinander bringen!
Hier ist ein allgemeinerer und sicherer Ansatz, der auch Mehrbenutzer unterstützt.
Erstellen Sie eine neue Gruppe für Knotenbenutzer und fügen Sie die erforderlichen Benutzer zu dieser Gruppe hinzu. Legen Sie dann den Besitz von knotenabhängigen Dateien / Verzeichnissen auf diese Gruppe fest.
Jetzt können Sie Ihre Module einfach als Benutzer installieren
Einige Module (Grunzen, Laube, Yo usw.) müssen noch als Root installiert werden. Dies liegt daran, dass sie Symlinks in / user / bin / erstellen.
Bearbeiten
3 Jahre später würde ich empfehlen, Node Version Manager zu verwenden . Das spart Ihnen viel Zeit und Ärger.
quelle
staff
Gruppe, um meinen Entwicklungsordnern Berechtigungen zu erteilen. Es ist auch eine gute Idee, auszuführenchmod g+ws node_modules
, um sicherzustellen, dass Ihre Gruppe über Lese- / Schreibberechtigungen verfügt./usr/lib
wird von Ihrem Systempaket-Manager gesteuert, und Sie sollten dort keine Änderungen vornehmen.Die offizielle Dokumentation zum Beheben von
npm install
Berechtigungen mit einemEACCES
Fehler finden Sie unter https://docs.npmjs.com/getting-started/fixing-npm-permissions .Ich habe dieses Problem nach einer Neuinstallation des Knotens mit dem
.pkg
Installationsprogramm unter OSX festgestellt. Hier gibt es einige gute Antworten, aber ich habe noch keinen Link zu npmjs.com gesehen.Option 1: Ändern Sie die Berechtigung in das Standardverzeichnis von npm
Suchen Sie den Pfad zum Verzeichnis von npm:
Für viele Systeme ist dies / usr / local .
WARNUNG : Wenn der angezeigte Pfad nur / usr ist , wechseln Sie zu Option 2 .
Ändern Sie den Eigentümer der Verzeichnisse von npm in den Namen des aktuellen Benutzers (Ihren Benutzernamen!):
Dadurch werden die Berechtigungen der von npm und einigen anderen Tools ( lib / node_modules , bin und share ) verwendeten Unterordner geändert .
Option 2: Ändern Sie das Standardverzeichnis von npm in ein anderes Verzeichnis
Es gibt Zeiten, in denen Sie den Besitz des von npm verwendeten Standardverzeichnisses (dh / usr ) nicht ändern möchten, da dies zu Problemen führen kann, z. B. wenn Sie das System für andere Benutzer freigeben.
Stattdessen können Sie npm so konfigurieren, dass insgesamt ein anderes Verzeichnis verwendet wird. In unserem Fall ist dies ein verstecktes Verzeichnis in unserem Home-Ordner.
Erstellen Sie ein Verzeichnis für globale Installationen:
Konfigurieren Sie npm für die Verwendung des neuen Verzeichnispfads:
Öffnen oder erstellen Sie eine ~ / .profile-Datei und fügen Sie diese Zeile hinzu:
Aktualisieren Sie in der Befehlszeile Ihre Systemvariablen:
quelle
/usr/bin/
? Jetzt kann nur Ihr Benutzer darauf zugreifen. Sie melden sich als jemand anderes an, haben immer noch keinen Zugriff, da sich die Dateien tatsächlich im Home-Verzeichnis eines anderen Benutzers befinden!Als ob wir hier mehr Antworten brauchen, aber trotzdem ..
Sindre Sorus hat eine Anleitung Installieren von npm-Paketen global ohne sudo unter OS X und Linux , in der beschrieben wird, wie eine saubere Installation ohne Beeinträchtigung der Berechtigungen durchgeführt wird:
Überprüfen Sie die Quelle dieses Handbuchs auf die neuesten Updates.
quelle
TL; DR
- -
Wenn Sie es verwenden
npm
, werden Pakete in Ihr Benutzer-Home-Verzeichnis heruntergeladen. Wenn Sie als sudo ausgeführt werden, werdennpm
Dateien in demselben Verzeichnis installiert, aber jetzt gehören sie root.Das passiert also absolut jeder einzelnen Person, die jemals benutzt hat
npm
:npm install foo
sudo install -g foo-cli
ohne Problemenpm install bar
npm
Designer, jetzt wo Sie wieder inchmod
ein Verzeichnis gehen müssenWenn Sie die Option
-i
oder-H
mit sudo verwenden, ist Ihr Home-Verzeichnis dasroot
Home-Verzeichnis. Alle mögliche globale installiert werden cachen Pakete/root/.npm
stattroot
-ige Dateien an/home/me/.npm
.Verwenden Sie einfach immer
sudo -i
odersudo -H
beim Ausführennpm install
, um globale Pakete zu installieren, und Ihrenpm
Berechtigungsprobleme verschwinden.Für immer.
http://hood.ie/blog/why-you-shouldnt-use-sudo-with-npm.html
- Siehe die akzeptierte Antwort für das Reparieren eines bereits gefickten
npm
.quelle
Ich hatte ein ähnliches Problem bei NPM-Modulen , die ohne sudo nicht global installiert werden können . Das Problem war, dass ich es bei der Installation des Knotens mit sudo über chris / lea ppa repo gemacht habe .
Meine Lösung bestand darin, den Knoten zu deinstallieren und dann folgendermaßen zu installieren:
Laden Sie die neuesten stabilen Knotenquellen von nodejs.org # in meinem Fall node-v0.10.20.tar.gz herunter
PD: Wenn Sie den Besitz des Ordners / usr / local nicht ändern möchten, können Sie ihn an einem Ort installieren, den Sie bereits besitzen. Das Problem dieses Ansatzes ist, dass Sie den Installationsordner mit der Bash-Befehlszeile verbinden müssen, damit wir den Node-Befehl später verwenden können
Mit einem dieser Ansätze können Sie Folgendes ausführen, ohne sudo zu verwenden
quelle
sudo chown $USER /use/local
vor dem Bau. Sieht soweit gut aus, Zeit zu versuchen, Atom zu bauen! Vielen Dank!Wenn Sie npm install -g somepackage ausführen, wird möglicherweise ein EACCES-Fehler angezeigt, in dem Sie aufgefordert werden, den Befehl erneut als root / Administrator auszuführen. Es ist ein Berechtigungsproblem.
Es ist einfach zu reparieren , öffnen Sie Ihr Terminal (Anwendungen> Dienstprogramme> Terminal)
** Ich empfehle Ihnen dringend, die Paketverwaltung nicht mit sudo zu verwenden (sudo npm -g etwas installieren), da Sie später einige Probleme bekommen können **
Referenz: http://foohack.com/2010/08/intro-to-npm/
quelle
sudo chown -R `whoami` ~/.npm
,sudo chown -R `whoami` /usr/local/lib
undFür Mac (übernommen von Christoper Wills Antwort)
Mac OS X 10.9.4
Systemeinstellungen> Benutzer & Gruppen> (Entsperren)> Drücken Sie +:
Neues Konto> "Gruppe"
Kontoname : nodegrp
Aktivieren Sie nach dem Erstellen der Gruppe den Benutzer, der in diese Gruppe aufgenommen werden soll
quelle
sudo
diese Ordnergruppen zu behalten oder zu ändern, damit sie vom normalen Benutzer geändert werden können? Wenn ein normaler Benutzer keine Aktion für diesen Ordner ausführen soll, sollte dies natürlich nicht den Gruppenbesitz des Ordners ändern.-H
Flag. Insbesonderesudo -H npm install -g <pkg>
. Dies stellt eine ordnungsgemäße Abgrenzung der Berechtigungen für System- und Benutzerordner sicher. Was Sie nicht tun möchten, ist die Verwendungsudo npm install -g
, da dadurch Root-Dateien in Ihrem Benutzerverzeichnis installiert werden. Es wäre großartig, wenn npm klug genug wäre, dies richtig zu machen, aber das ist nicht der Fall. Sie müssen also das-H
sudo-Flag verwenden, um eine ordnungsgemäße globale Installation durchzuführen.In meinem Fall liegt es an der Erlaubnis von ~ / tmp. Also mache ich:
Und es ist in Ordnung!
quelle
Für mich nur ausführen
funktioniert nicht Dann führe ich auch aus
Und alles funktioniert gut!
quelle
/usr/lib
sind Systemdateien und sollten nicht Ihrem persönlichen Benutzerkonto gehören.PROBLEM : Sie (der Benutzer) haben nicht die richtigen Berechtigungen für das Verzeichnis.
Der sofortige Ausweg besteht darin, die npm-Installation mit sudo auszuführen. Dies kann jedoch zu demselben Fehler oder zu einer fehlerhaften Installation führen.
UND das Ändern des Verzeichnisbesitzes ist keine gute Option, ein temporärer Patch.
Lösung / Vorschlag : Ändern Sie das Standardverzeichnis von npm (aus offiziellen Dokumenten) ).
Sichern Sie Ihren Computer, bevor Sie fortfahren.
(optional) Falls Sie eine fehlerhafte Installation haben, deinstallieren Sie diese zuerst:
Erstellen Sie ein Verzeichnis für globale Installationen:
mkdir ~/.npm-global
Konfigurieren Sie npm für die Verwendung des neuen Verzeichnispfads:
npm config set prefix '~/.npm-global'
Öffnen oder erstellen Sie eine
~/.profile
oder~/.bash_profile
-Datei und fügen Sie diese Zeile hinzu:export PATH=~/.npm-global/bin:$PATH
Aktualisieren Sie in der Befehlszeile Ihre Systemvariablen oder starten Sie das Terminal neu:
source ~/.profile
(optional) Test: Laden Sie ein Paket global herunter, ohne sudo zu verwenden.
npm install -g jshint
quelle
Falls
sudo chown -R $(whoami) ~/.npm
es für Sie nicht funktioniert hat oder Sie eine Nicht-Terminal-Befehlslösung benötigen.Das Problem besteht darin, dass Ihr Benutzerkonto keine Schreibberechtigung für den Ordner node_modules hat. Sie können also Folgendes tun
Öffnen Sie den Finder und drücken Sie
cmd
+shift
+.g
Dadurch wird der Ordner mit der URL geöffnetSchreiben Sie den folgenden Pfad
/usr/local/lib/node_modules
und drücken Sie goKlicken Sie mit der rechten Maustaste auf
node_modules
Ordner und wählen SieGet Info
Scrollen Sie nach unten zum
sharing & permissions
AbschnittEntsperren, um Änderungen vornehmen zu können.
Drücken Sie
+
und fügen Sie Ihr Benutzerkonto hinzuStellen Sie sicher, dass Sie
Read & Write
in der Dropdown- Liste Berechtigungen auswählenJetzt sollten Sie in der Lage sein, Pakete ohne zu installieren,
sudo
und Berechtigungsprobleme sollten behoben seinquelle
Problem: Sie haben keine Berechtigung zum Schreiben in die Verzeichnisse, in denen npm globale Pakete und Befehle speichert.
Lösung: Erlauben Sie die Berechtigung für npm.
Öffnen Sie ein Terminal:
Geben Sie diesen Befehl ein:
Diese Lösung ermöglicht die Berechtigung NUR der benötigten Verzeichnisse, wodurch die anderen Verzeichnisse schön und sicher bleiben.
quelle
npm config get prefix
etwas im Basisordner zurückgegeben wird, behebt diese Lösung die Berechtigungen, behebt jedoch nicht das zugrunde liegende Problem der sicheren Installation globaler Pakete für eine gemeinsam genutzte Umgebung.Führen Sie die folgenden Befehle aus, um NPM ordnungsgemäß zu konfigurieren:
quelle
Sie könnten dies versuchen, funktioniert auf Ubuntu und Mac
quelle
Was mir als die beste Option erscheint, ist die in der npm-Dokumentation vorgeschlagene, bei der zunächst überprüft wird, wo standardmäßig globale Knotenmodule installiert sind, indem sie ausgeführt werden
npm config get prefix
. Wenn Sie wie bei Trusty erhalten,/usr
möchten Sie es möglicherweise in einen Ordner ändern, den Sie sicher besitzen können, ohne die Dinge so durcheinander zu bringen, wie ich es getan habe.Wählen Sie dazu einen neuen Ordner in Ihrem System aus oder erstellen Sie ihn. Vielleicht möchten Sie es in Ihrem Home-Verzeichnis oder, wie ich, aus Gründen der
/usr/local
Konsistenz unter haben, da ich auch ein Mac-Benutzer bin (ich bevorzuge es, nicht an verschiedenen Stellen nachsehen zu müssen, je nachdem, auf welchem Computer ich mich gerade befinde). Ein weiterer guter Grund dafür ist die Tatsache, dass sich der/usr/local
Ordner wahrscheinlich bereits in Ihrem PATH befindet (es sei denn, Sie möchten mit Ihrem PATH herumspielen), aber wahrscheinlich ist Ihr neu erstellter Ordner nicht vorhanden und Sie müssen ihn dem hinzufügen PFADEN Sie sich auf Ihrem .bash-Profil oder .bashrc - Datei.Kurz gesagt, ich habe den Standardspeicherort der globalen Module mit geändert
npm config set prefix '/usr/local'
, den Ordner erstellt/usr/local/lib/node_modules
(er wird von npm verwendet) und die Berechtigungen für die von npm verwendeten Ordner mit dem folgenden Befehl geändert:Jetzt können Sie jedes Modul global sicher installieren. Hoffe das hilft!
quelle
So habe ich das Problem unter Windows 8.1 gelöst:
quelle
Die beste Lösung wäre diese, die in der npm-Dokumentation bereitgestellt wird.
Für Ubuntu ist die vorgeschlagene Lösung Option 2
Kurze Schritte:
Erstellen Sie ein Verzeichnis für globale Installationen:
mkdir ~/.npm-global
Konfigurieren Sie npm für die Verwendung des neuen Verzeichnispfads: Mithilfe dieser Option können Sie überprüfen, ob das Präfix aktualisiert wurde oder nicht. Das Ergebnis wäre <Ihr Home-Verzeichnis> / .npm-global
npm config set prefix '~/.npm-global'
npm config get prefix
Öffnen oder erstellen Sie eine ~ / .profile-Datei und fügen Sie diese Zeile hinzu:
export PATH=~/.npm-global/bin:$PATH
Aktualisieren Sie in der Befehlszeile Ihre Systemvariablen:
source ~/.profile
Anstelle der Schritte 2 bis 4 können Sie auch die entsprechende ENV-Variable verwenden (z. B. wenn Sie ~ / .profile nicht ändern möchten):
NPM_CONFIG_PREFIX=~/.npm-global
Für Mac ist die vorgeschlagene Lösung Option 3
Unter Mac OS können Sie dieses Problem mithilfe des Homebrew-Paketmanagers vollständig vermeiden
brew install node
quelle
Ich löse es, indem ich den Besitzer von root in meinen Benutzernamen ändere
sudo chown -R me:me /home/me/.config/configstore/
Ändere mich mit deinem Benutzernamen und deiner Gruppe.
quelle
Ich benutze gerne Ubuntu-Gruppen, um dies zu erreichen, anstatt den Besitzer zu wechseln. Es ist ganz einfach.
Installieren Sie zuerst nodejs und npm mit apt-get
sudo apt-get update && sudo apt-get install nodejs npm
Finden Sie heraus, wer angemeldet ist, dh der Benutzername, und führen Sie den folgenden Befehl aus, um ihn im Terminal anzuzeigen
whoami
Sie können die Liste der Ihnen zugewiesenen Gruppen mit einem sehr einfachen Befehl anzeigen. Normalerweise ist die erste Gruppe Ihr Benutzername
groups
Führen Sie Folgendes aus, um dem angemeldeten Benutzer den Zugriff zu ermöglichen
sudo chmod 777 -R /usr/local && sudo chgrp $(whoami) -R /usr/local
Aktualisieren Sie npm und nodejs
npm install -g npm
Sie sind fertig, Ihr Benutzer kann npm-Befehle ohne sudo ausführen
Sie können auch auf diesen Link https://askubuntu.com/a/1115373/687804 verweisen
quelle
Unter Mac OS X, wenn bei der Installation von Homebrew ist
brew install npm
, ist der Installationspfad/usr/local/share/npm/
mit den beidenbin/
undlib/node_modules/
Unterordner.Wenn Sie diesen Befehl ausführen, um zum Eigentümer Ihres aktuell angemeldeten Benutzers zu wechseln, sollte dies alles behoben sein und Sie können globale NPM-Pakete ohne installieren
sudo
.osx Homebrew
quelle
npm config
stattdessen verwendet wird.Eigentlich hatte ich auch das gleiche Problem. Ich habe Ubuntu ausgeführt. Mein Problem entsteht, weil ich meinen öffentlichen Schlüssel des Ubuntu verloren hatte. Selbst die Aktualisierung meines Systems fand nicht statt. Es gab einen GPG-Fehler. In diesem Fall können Sie Ihren Schlüssel mit diesem Befehl wiedererlangen:
Danach funktioniert npm gut!
quelle
John Papa verweist auf die Geschichte und die Argumentation hinter diesem Problem und gibt eine solide Lösung :
John Papas Schritte sind:
Hoffe das hilft den Neugierigen!
quelle
Dies ist die Lösung, die ich verwendet und gearbeitet habe. Ich habe versucht,
whoami
nie funktioniert zu verwenden.sudo chown -R $USER /usr/local/lib/node_modules
dann
sudo chown -R $USER /usr/local/bin/npm
dann
sudo chown -R $USER /usr/local/bin/node
quelle
Die Antwort von @Yves M. war meiner Lösung sehr ähnlich. Hier sind die Befehle, die ich verwendet habe und die sich geringfügig von seinen unterschieden.
Fragen Sie dann nach der neuesten Version:
Dann installieren Sie die neueste Version:
Beispiel
quelle