Comment mettre à niveau correctement le nœud à l'aide de NVM

231

Est-il possible de mettre à niveau nodesur place, au lieu d'installer manuellement la dernière version stable?

J'ai installé la version node.js5.0 avec nvm, mais maintenant je veux la mettre à jour 5.4. J'essaie d'éviter d'avoir à réinstaller manuellement tous mes packages globaux ( par exemple en exécutant npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...).

Boris Burkov
la source

Réponses:

328

Cela peut fonctionner:

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

Par exemple:

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

puis, si vous le souhaitez, vous pouvez supprimer votre version précédente avec:

nvm uninstall OLD_VERSION

Où, dans votre cas, NEW_VERSION = 5.4 OLD_VERSION = 5.0

Vous pouvez également essayer:

nvm install stable
gabrielperales
la source
1
dose utilisant nvm install stablesupprimer tous les packages installés, y compris le nœud installé plutôt que de les mettre à jour?
Syed
1
en fait, cela ne fonctionne plus. Il y a un problème avec npm: github.com/creationix/nvm/issues/811
jhuesos
5
Par nvm ls-remotevous pouvez voir toutes les versions.
Daniel
7
Cela fonctionne pour moi: nvm install node --reinstall-packages-from=$(nvm current). Cela mettra à jour Node.js vers la dernière version et réinstallera les packages globaux npm à partir de la version précédente.
cyfrost
Si vous ne parvenez pas à désinstaller, utilisez nvm deactivateet réessayez.
izilotti
185

Vous pouvez plus simplement exécuter l'une des commandes suivantes:

Dernière version : Version
nvm install node --reinstall-packages-from=node
stable (LTS) :
nvm install lts/* --reinstall-packages-from=node

Cela va installer la version appropriée et réinstaller tous les packages à partir de la version de nœud actuellement utilisée. Cela vous évite de gérer manuellement les versions spécifiques.

Édition - commande ajoutée pour installer la version LTS selon le commentaire @ m4js7er.

Elad
la source
20
Si vous souhaitez mettre à jour à la dernière version stable (LTS - recommandé pour la plupart des utilisateurs), vous devez exécuter: nvm install lts/* --reinstall-packages-from=node. Après cela, vous pouvez nettoyer vos versions avec nvm uninstall [old version]. Vous pouvez répertorier toutes les versions installées avec nvm ls.
m4js7er
Réfléchissez bien avant de faire --reinstall-packages-from=nodeVous pouvez utiliser différents environnements globaux pour les versions 6, 8 et 10.
contributorpw
1
J'ai lié la commande, nvm install lts/* --reinstall-packages-from=nodemais cela m'a donné une erreur disant que Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.j'utilise la version 0.30.1 de NVM, peut-être que ma NVM est trop ancienne. Je finis par le remplacer manuellement lts/*par 10.15.2/*pour le faire fonctionner.
Zhang
16

DEUX solutions simples:

Pour installer la dernière version de node et réinstaller les anciens packages de version, exécutez simplement la commande suivante.

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

Pour installer la dernière version lts(prise en charge à long terme) du nœud et réinstaller les anciens packages de version, exécutez simplement la commande suivante.

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

Voici un GIF pour soutenir cette réponse. nvm

Ahmad Awais
la source
Je If --reinstall-packages-from is provided, it must point to an installed version of node.
n'arrive
@wickywills "node: ceci installe la dernière version de node" peut-être que vous aviez et LTS ou une version spécifique installée et donc nodene pointait pas vers la dernière version installée. Ou vous devez mettre à jour nvm.
iBaff
10

si vous avez 4.2 et souhaitez installer 5.0.0, alors

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

la réponse de gabrielperales est juste, sauf qu'il a raté le signe "=" à la fin. si vous ne mettez pas le signe "=" alors la nouvelle version du nœud sera installée mais les packages ne seront pas installés.

source: sitepoint

Tanveer Hossain Jony
la source
2

Node.JS pour installer une nouvelle version.

Étape 1: installation de NVM

npm i -g nvm

Étape 2: installation de la dernière version de NODE

nvm install *.*.*(NodeVersion)

Étape 3: Version du nœud sélectionné

nvm use *.*.*(NodeVersion)

terminer

Serkan
la source
0

Alias ​​bash pour la mise à jour de la version active actuelle:

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

La partie sed -rn "s/v([[:digit:]]+).*/\1/p"transforme la sortie de nvm currentsorte que seule une version majeure du nœud soit renvoyée, c'est-à-dire: v13.5.0-> 13.

MrSegFaulty
la source