Cómo actualizar correctamente el nodo usando nvm

231

¿Es posible actualizar? node en su lugar, en lugar de instalar manualmente la última versión estable?

He instalado la versión node.js5.0 con nvm, pero ahora quiero actualizarlo 5.4. Estoy tratando de evitar tener que reinstalar manualmente todos mis paquetes globales ( por ejemplo, ejecutando npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...).

Boris Burkov
fuente

Respuestas:

328

Esto puede funcionar:

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

Por ejemplo:

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

luego, si lo desea, puede eliminar su versión anterior con:

nvm uninstall OLD_VERSION

Donde, en su caso, NEW_VERSION = 5.4 OLD_VERSION = 5.0

Alternativamente, intente:

nvm install stable
gabrielperales
fuente
1
dosis usando nvm install stableeliminar todos los paquetes instalados, incluido el nodo instalado en lugar de actualizarlos?
Syed
1
En realidad, esto ya no funciona. Hay un problema con npm: github.com/creationix/nvm/issues/811
jhuesos
55
Por nvm ls-remotepuedes ver todos los lanzamientos.
Daniel
77
Esto funciona para mí: nvm install node --reinstall-packages-from=$(nvm current). Eso actualizará Node.js a la última versión y reinstalará los paquetes globales de npm desde la versión anterior.
cyfrost
Si no puede desinstalar, use nvm deactivatee intente nuevamente.
izilotti
185

Puede simplemente ejecutar uno de los siguientes comandos:

Última versión : Versión
nvm install node --reinstall-packages-from=node
estable (LTS) :
nvm install lts/* --reinstall-packages-from=node

Esto instalará la versión adecuada y reinstalará todos los paquetes de la versión de nodo utilizada actualmente. Esto le ahorra el manejo manual de las versiones específicas.

Editar: comando agregado para instalar la versión LTS de acuerdo con el comentario de @ m4js7er.

Elad
fuente
20
Si desea actualizar a la última versión estable (LTS - Recomendada para la mayoría de los usuarios), a continuación, se debe ejecutar: nvm install lts/* --reinstall-packages-from=node. Después de eso, puede limpiar sus versiones con nvm uninstall [old version]. Puede enumerar todas las versiones instaladas con nvm ls.
m4js7er
Piense dos veces antes de hacerlo --reinstall-packages-from=nodePuede usar diferentes entornos globales para las versiones 6, 8 y 10.
contributorpw
1
Ate el comando, nvm install lts/* --reinstall-packages-from=nodepero me dio un error al decir Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.que estoy usando NVM versión 0.30.1, tal vez mi NVM es demasiado viejo. Termino reemplazando manualmente lts/*con 10.15.2/*para que funcione.
Zhang
16

DOS soluciones simples:

Para instalar la última versión del nodo y reinstalar los paquetes de la versión anterior, simplemente ejecute el siguiente comando.

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

Para instalar la última ltsversión (soporte a largo plazo) del nodo y reinstalar los paquetes de la versión anterior, simplemente ejecute el siguiente comando.

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

Aquí hay un GIF para apoyar esta respuesta. nvm

Ahmad Awais
fuente
No puedo hacer que esto funcione - Acabo de recibirIf --reinstall-packages-from is provided, it must point to an installed version of node.
wickywills
@wickywills "nodo: esto instala la última versión del nodo" que tal vez tenías instalado y LTS o una versión específica y, por nodelo tanto , no apuntaba a la última versión instalada. O necesita actualizar nvm.
iBaff
10

si tienes 4.2 y quieres instalar 5.0.0 entonces

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

la respuesta de gabrielperales es correcta, excepto que se perdió el signo "=" al final. Si no coloca el signo "=", se instalará una nueva versión de nodo, pero no se instalarán los paquetes.

fuente: sitepoint

Tanveer Hossain Jony
fuente
2

Node.JS para instalar una nueva versión.

Paso 1: instalación de NVM

npm i -g nvm

Paso 2: instalación de la última versión de NODE

nvm install *.*.*(NodeVersion)

Paso 3: Versión del nodo seleccionado

nvm use *.*.*(NodeVersion)

Terminar

Serkan
fuente
0

Alias ​​Bash para actualizar la versión activa actual:

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

La parte sed -rn "s/v([[:digit:]]+).*/\1/p"transforma la salida de nvm currentmodo que solo se devuelve una versión principal del nodo, es decir: v13.5.0-> 13.

MrSegFaulty
fuente