npm --version ist anders, wenn sudo npm --version verwendet wird

npm --version ist anders, wenn sudo npm --version verwendet wird

Ich habe gerade nodejs auf meinem Rechner aktualisiert. Ich habe die Node-Version (die in den Ubuntu-Repositories), die ich hatte, deinstalliert. Dann habe ich nvm installiert und nodejs 4.2.2 installiert.

Alles läuft ohne Fehler, aber als ich npm --versiones ausführte, wurde 2.14.7 angezeigt. Dann entschied ich mich, Folgendes auszuführen, sudo npm install -g npmum die npm-Version zu aktualisieren, aber als ich es überprüfte, wurde immer noch 2.14.7 angezeigt. Also überprüfte ich es noch einmal, sudo npm --versiondiesmal jedoch mit, und es war die neueste Version 3.3.10.

Warum passiert das und wie kann ich es beheben?

Hier ist ein Screenshot:
Verschiedene npm-Versionen werden mit oder ohne sudo angezeigt

Ich verwende Ubuntu 14.04.

Bearbeiten:

Hinzufügen von Wich-Befehlsausgaben

sistemas@ITAACO01:~$ which npm
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
sistemas@ITAACO01:~$ sudo which npm
/usr/local/bin/npm

Antwort1

Es scheint (aus den whichAusgaben), dass Ihr Benutzer ( sistemas) so eingestellt ist, dass er eine andere, veraltete Version von verwendet, die npmsich unter befindet /home/sistemas/.nvm/versions/node/v4.2.2/bin/npm– und die aktualisierte, systemweite Version unter ignoriert /usr/local/bin/npm.

Überprüfen Sie, ob /usr/local/binin Ihrem enthalten ist $PATH. (Tun Sie dies echo $PATHund prüfen Sie, ob die Ausgabe enthält /usr/local/bin.

Wenn nicht, fügen Sie es hinzu (geben Sie PATH="$PATH:/usr/local/bin"Ihr ein ~/.bash_profile)

Antwort2

Es gibt 2 Möglichkeiten:

  1. Der neue Versionspfad ist nicht vorhanden:

    Fügen Sie den Pfad hinzu. Beispiel: /usr/local/bin/npmZum Pfad hinzufügen

  2. Die ältere Version ist früher in der $PATH:

    Entfernen Sie den Pfad der älteren Version. Beispiel: Entfernen /home/sistemas/.nvm/versions/node/v4.2.2/bin/npmvon$PATH

verwandte Informationen