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...).

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

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.


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


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


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


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.