576 Stimmen

Wie kann ich die Version von npm mit nvm ändern?

Ich habe NVM verwendet, um die neuesten Versionen von Node.js für meine Node.js-Arbeit zu installieren. Es funktioniert einwandfrei, um verschiedene Versionen zu installieren und zwischen ihnen zu wechseln. Es installiert auch die neueste Version von NPM in jedem lokalen .../bin-Ordner zusammen mit dem Node.js-Binary. Es scheint jedoch keine Möglichkeit zu geben, die verwendete NPM-Version zu wechseln (oder zumindest kann ich es nicht herausfinden).

Die einzige Lösung, die mir einfällt, besteht darin, die Binärdatei zu löschen, die standardmäßig verwendet wird (das ist die NPM-Datei, die bei der ersten Installation von Node mit NVM installiert wurde), und stattdessen die neueste NPM-Binärdatei einzusetzen. Gibt es jedoch eine bessere Möglichkeit, dies zu tun?

616voto

lawrence Punkte 9099

Wie bereits in eine weitere Antwort gibt es jetzt einen Befehl dafür:

nvm hat jetzt einen Befehl zum Aktualisieren von npm. Es ist nvm install-latest-npm o nvm install --latest-npm .

nvm install-latest-npm : Versuchen Sie, ein Upgrade auf die neueste Arbeitsversion npm für die aktuelle Node.js-Version.

nvm install --latest-npm : Versuchen Sie nach der Installation, ein Upgrade auf das neueste funktionierende npm für die angegebene Node.js-Version durchzuführen.

Nachstehend finden Sie frühere Überarbeitungen der richtigen Antwort auf diese Frage.

Für neuere Versionen von npm ist es jetzt viel einfacher. Aktualisieren Sie einfach die Version, die nvm installiert hat, die sich in ~/.nvm/versions/node/[your-version]/lib/node_modules/npm .

Ich habe Node.js 4.2.2 installiert, das mit npm 2.14.7 kommt, aber ich möchte npm 3 verwenden. Also habe ich das getan:

cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm

Vorsicht!

Und ja, dies sollte für jedes Modul funktionieren, nicht nur für npm, das Sie für eine bestimmte Version von Node "global" machen wollen.


In einer neueren Version, npm -g ist schlau und installiert die Module in den oben genannten Pfad statt in den globalen Systempfad.

190voto

Ocko Punkte 1501

Verwenden Sie

npm install npm@x.x.x -g
npm install npm@5.4.0 -g

63voto

fijiaaron Punkte 4664

Nvm kann nicht mit npm umgehen.

Wenn Sie also Node.js 0.4.x (von dem viele Pakete immer noch abhängen) installieren und NPM verwenden möchten, können Sie weiterhin npm 1.0.x verwenden.

Installieren Sie Node.js 0.6.x (das mit npm 1.1.x geliefert wird) und installieren Sie nvm mit npm:

npm install nvm
. ~/nvm/nvm.sh

Node.js 0.4.x mit nvm installieren:

nvm install v0.4.12
nvm use v0.4.12

Installieren Sie npm mit installieren.sh (Beachten Sie die -L um allen Weiterleitungen zu folgen):

curl -L https://npmjs.org/install.sh | sh

Dies erkennt Node.js 0.4.12 und installiert npm 1.0.106 in Ihrem ~/nvm/v0.4.12/lib/node_modules und erstellen Sie einen symbolischen Link für nvm:

~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

Wenn Sie versuchen, npm auszuführen, wird immer noch ein Fehler angezeigt, aber wenn Sie nvm use v0.4.12 sollte es jetzt funktionieren.

51voto

Ryan Shillington Punkte 19095

Ich arbeite mit Windows und konnte nichts davon zum Laufen bringen. Ich bekam ständig Fehlermeldungen, dass Dateien im Weg seien. Das hier hat aber funktioniert:

cd %APPDATA%\nvm\v8.10.0           # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest

cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old

Und bumm, bin ich wieder im Geschäft.

49voto

samlandfried Punkte 773

Nvm hat jetzt einen Befehl zum Aktualisieren von npm. Es ist nvm install-latest-npm o npm install --latest-npm .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X