So aktualisieren Sie den Knoten ordnungsgemäß mit nvm


231

Ist es möglich, nodedirekt zu aktualisieren , anstatt die neueste stabile Version manuell zu installieren?

Ich habe die Version node.js5.0 mit installiert nvm, möchte sie aber jetzt aktualisieren 5.4. Ich versuche zu vermeiden, dass alle meine globalen Pakete manuell neu installiert werden müssen ( z. B. durch Ausführen von npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...).

Antworten:


328

Dies kann funktionieren:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

Beispielsweise:

nvm install 6.7 --reinstall-packages-from=6.4

Wenn Sie möchten, können Sie Ihre vorherige Version löschen mit:

nvm uninstall OLD_VERSION

Wobei in Ihrem Fall NEW_VERSION = 5.4 OLD_VERSION = 5.0

Versuchen Sie alternativ:

nvm install stable

1
Dosis mit nvm install stableEntfernen Sie alle installierten Pakete einschließlich installierter Knoten, anstatt sie zu aktualisieren?
Syed

1
Eigentlich funktioniert das nicht mehr. Es gibt ein Problem mit npm: github.com/creationix/nvm/issues/811
jhuesos

5
Durch nvm ls-remotekönnen Sie alle Veröffentlichungen sehen.
Daniel

7
Das funktioniert bei mir : nvm install node --reinstall-packages-from=$(nvm current). Dadurch wird Node.js auf die neueste Version aktualisiert und die globalen npm-Pakete von der vorherigen Version neu installiert.
Cyfrost

Wenn Sie nicht deinstallieren können, verwenden Sie nvm deactivateund versuchen Sie es erneut.
Izilotti

185

Sie können einfach einen der folgenden Befehle ausführen:

Neueste Version :
nvm install node --reinstall-packages-from=node
Stabile (LTS) Version :
nvm install lts/* --reinstall-packages-from=node

Dadurch wird die entsprechende Version installiert und alle Pakete aus der aktuell verwendeten Knotenversion neu installiert. Dies erspart Ihnen die manuelle Bearbeitung der spezifischen Versionen.

Bearbeiten - Befehl zum Installieren der LTS-Version gemäß @ m4js7er-Kommentar hinzugefügt.


20
Wenn Sie auf die neueste stabile Version aktualisieren möchten (lts - empfohlen für die meisten Benutzer), sollten Sie Folgendes ausführen : nvm install lts/* --reinstall-packages-from=node. Danach können Sie Ihre Versionen mit bereinigen nvm uninstall [old version]. Sie können alle installierten Versionen mit auflisten nvm ls.
m4js7er

Überlegen Sie es sich vorher. --reinstall-packages-from=nodeSie können verschiedene globale Umgebungen für die Versionen 6, 8 und 10 verwenden.
Contributorpw

1
Ich habe den Befehl gebunden, nvm install lts/* --reinstall-packages-from=nodeaber es gab mir den Fehler, dass Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.ich NVM Version 0.30.1 verwende. Vielleicht ist mein NVM zu alt. Ich beende manuell ersetzen oben lts/*mit 10.15.2/*ihm zur Arbeit zu kommen.
Zhang

16

ZWEI einfache Lösungen:

Führen Sie den folgenden Befehl aus, um die neueste Version des Knotens zu installieren und die alten Versionspakete neu zu installieren.

nvm install node --reinstall-packages-from=node

ltsFühren Sie einfach den folgenden Befehl aus, um die neueste Version des Knotens (Langzeitunterstützung) zu installieren und die alten Versionspakete neu zu installieren.

nvm install --lts /* --reinstall-packages-from=node

Hier ist ein GIF , um diese Antwort zu unterstützen. nvm


Ich kann das nicht zum If --reinstall-packages-from is provided, it must point to an installed version of node.
Laufen bringen

@wickywills "Knoten: Hiermit wird die neueste Version des Knotens installiert." Möglicherweise hatten Sie eine LTS oder eine bestimmte Version installiert und nodezeigten daher nicht auf die neueste installierte Version. Oder Sie müssen nvm aktualisieren.
iBaff

10

Wenn Sie 4.2 haben und 5.0.0 installieren möchten, dann

nvm install v5.0.0 --reinstall-packages-from=4.2

Die Antwort von gabrielperales ist richtig, außer dass er am Ende das "=" Zeichen verpasst hat. Wenn Sie das Zeichen "=" nicht setzen, wird eine neue Knotenversion installiert, die Pakete werden jedoch nicht installiert.

Quelle: Sitepoint


2

Node.JS, um eine neue Version zu installieren.

Schritt 1: NVM-Installation

npm i -g nvm

Schritt 2: NODE Neueste Version installieren

nvm install *.*.*(NodeVersion)

Schritt 3: Ausgewählte Knotenversion

nvm use *.*.*(NodeVersion)

Fertig


0

Bash-Alias ​​zum Aktualisieren der aktuell aktiven Version:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

Der Teil sed -rn "s/v([[:digit:]]+).*/\1/p"transformiert die Ausgabe von nvm currentso, dass nur eine Hauptversion des Knotens zurückgegeben wird, dh: v13.5.0-> 13.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.