NVM es un manejador de versiones de Node.js que nos permite poder mantenernos al tanto de nuevos lanzamientos y actualizaciones de este entorno de ejecuci贸n en nuestro sistema operativo. Una de sus grandes ventajas es poder contar con diferentes versiones instaladas conjuntamente y cambiar entre ellas dependiendo de nuestras necesidades.
Instalaci贸n de NVM
Para instalar NVM debemos seguir la gu铆a oficial. En estos momentos indica dos posibles opciones mediante la l铆nea de comandos:
# opci贸n 1: usando CURL
; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# opci贸n 2: usando WGET
; wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Despu茅s de descargar el ejecutable hay que actualizar nuestro perfil de l铆nea de comandos
# agrega estas l铆neas a tu ~/.zshrc o ~/.bashrc
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Para poder comenzar a utilizarlo hay que recargar la l铆nea de comandos, una forma f谩cil de hacerlo es cerrando la terminal y volvi茅ndola a abrir.
Posteriormente podemos ejecutar nvm --version
para corroborar la instalaci贸n. Por ejemplo
; nvm --version
0.39.1
鈿狅笍 La versi贸n que se observa el comando anterior puede ser diferente para el momento en que leas esto. Por favor consulta la documentaci贸n para la instalaci贸n.
Instalaci贸n de Node.js
Una vez instalado NVM podemos instalar diferentes versiones de Node
# instalando la versi贸n m谩s reciente
; nvm install node
# instalando la 煤ltima versi贸n con soporte a largo plazo (LTS)
; nvm install --lts
# instalando una versi贸n en espec铆fico
; nvm install v16.17.1
Para listar las versiones disponibles
# listar s贸lo las versiones instaladas en nuestro S.O.
; nvm ls
# listas todas las versiones disponibles
; nvm ls-remote
Usando una versi贸n en espec铆fico
Por defecto la primera versi贸n que se instala es la que ser谩 usada cada vez que inicies un nuevo entorno de ejecuci贸n. Para poder cambiar a otra versi贸n espec铆fica hacemos uso del subcomando use
# cambia a la 煤ltima versi贸n estable instalada
; nvm use stable
Now using node v18.10.0 (npm v8.19.2)
# cambia a la 煤ltima versi贸n LTS instalada
; nvm use --lts
Now using node v16.17.1 (npm v8.15.0)
# cambia a la 煤ltima versi贸n 14 instalada
; nvm use 14
Now using node v14.15.4 (npm v6.14.10)
# cambia a una versi贸n instalada en espec铆fico
; nvm use v16.13.0
Cambiando la versi贸n usada por defecto
El alias default
de NVM asocia la versi贸n cargada por defecto. Podemos observar esto listando nuestras versiones instaladas.
; nvm ls
[...]
-> v16.17.1
v18.10.0
system
default -> 16 (-> v16.17.1)
Si queremos cambiar qu茅 versi贸n est谩 asociada con default
podemos ejecutar el subcomando alias
# para hacer de la 煤ltima versi贸n instalada la versi贸n default
; nvm alias default node
default -> node (-> v18.10.0)
# para hacer de la 煤ltima versi贸n LTS instalada la versi贸n default
; nvm alias default lts/*
default -> lts/* (-> v16.17.1)
Actualizando Node.js
Para actualizar las versiones usamos tambi茅n el subcomando install
. Esta vez agregaremos un argumento extra para indicar que cuando se realice la nueva instalaci贸n tambi茅n se instalen los paquetes usados en la versi贸n que estamos usando actualmente. Por ejemplo:
# actualizar la versi贸n LTS reinstalando los paquetes de la LTS que usamos actualmente
; nvm install --lts --reinstall-packages-from=lts/gallium
# actualizar la 煤ltima versi贸n de node
; nvm install node --reinstall-packages-from=node
Desinstalado una versi贸n
Finalmente para desinstalar una versi贸n de Node podemos usar el subcomando uninstall
. La 煤nica consideraci贸n es que no podemos desinstalar la versi贸n que estamos usando actualmente, de lo contrario nvm mostrar谩 un error en pantalla.
# desinstalando la 煤ltima LTS
; nvm uninstall --lts
# desinstalando la 煤ltima versi贸n
; nvm uninstall node
# desinstalando una versi贸n en espec铆fico
; nvm uninstall v16.13.0
Los comandos anteriores son los que utilizo frecuentemente en mi d铆a a d铆a.
Para ir m谩s all谩 siempre ejecuto el argumento --help
# 馃槉
; nvm --help