Gestionando versiones de NodeJS con NVM
Cuando trabajas en el desarrollo de software y cambias entre proyectos de front o node, posiblemente necesitas cambiar entre versiones de node. Para ello NVM es la herramienta que necesitas.
La mayoría de veces instalamos node con el gestor de paquetes de nuestro sistema operativo: apt (ubuntu), brew (mac), etc.
Esto nos instala la última versión disponible en el respositorio de paquetes, que, dependiendo de la versión de nuestro sistema operativo, instalará una versión de node u otra.
Normalmente cuando trabajas en un proyecto de node, se define una versión que usan todo los desarrolladores, tanto para que las dependencias como los entornos de pruebas sean idénticos (y compatibles) entre sí.
Esto te lleva a necesitar diferentes versiones de node en una misma máquina.
NVM
Aquí es donde NVM o Node Version Manager, nos soluciona nuestro problema (repositorio en GitHub).
Este pequeño script nos permitirá tener múltiples versiones de node, con dependencias separadas, y nos permitirá cambiar entre versiones de node de forma sencilla.
Instalación
Instalarlo es sencillo. Para ello hay que ejecutar el siguiente script en una terminal:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Este script creará la carpeta ~/.nvm
, donde almacenará todas las versiones y dependencias. Además añadirá los alias necesarios a los ficheros .bashrc
, .zshrc
, etc.).
Uso de nvm
Instalación de una versión de node:
nvm install <version>
Mostrar las versiones instaladas:
nvm list
Seleccionar alguna versión:
nvm use <version>
Desinstalar alguna versión:
nvm uninstall <version>
Y establecer una por defecto:
nvm alias default <version>
Fichero .nvmrc
Si definimos un fichero .nvmrc
en nuestro proyecto, que contenta una versión de node (por ejemplo: 18.9.0
), podremos ejecutar el comando nvm use
y este automáticamente nos establecerá en la sesión de nuestra shell la versión de node necesaria (que deberás tener instalada previamente).
¿Te ha resultado útil este artículo? Suscríbete a mi newsletter y da el primer paso para lanzar productos IT más rápido. Recibirás consejos exclusivos que te acercarán a tus objetivos.