Utilidad de Node Version Manager (NVM) para proyectos con NodeJS en Windows

Gustavo Ramos Montalvo
4 min readJun 13, 2021

NodeJs (a partir de ahora lo llamaremos Node) es un entorno de ejecución de Javascript muy útil para el desarrollo de aplicaciones de red rápidas debido a que nos permite manejar una gran cantidad de conexiones simultáneas con un alto nivel de rendimiento, brindándonos una alta escalabilidad.

En varias ocasiones, hemos tenido que usar diferentes versiones de Node, ya sea para probar todas las características de un nuevo release de una versión, desarrollos de proyectos personales o laborales, entre otros.

Sin embargo, es un lío cuando queremos manejar diferentes versiones con diferentes paquetes, ya que sin una buena herramienta, tendríamos que pasar mucho tiempo y esfuerzo manual para desinstalar e instalar versiones de Node y sus respectivos paquetes globales.

Afortunadamente, existe una herramienta llamada Node Version Manager (a partir de ahora lo llamaremos NVM) que nos permite mantener múltiples versiones de Node en nuestro sistema lo cual podemos cambiar a demanda mediante una interfac de línea de comandos (CLI).

El proyecto original de NVM sólo fue desarrollado para Linux y macOS, sin embargo, hay alternativas para Windows:

  1. La característica WSL (Windows Subsystem for Linux) de Windows 10 y usando GitBash o Cygwin.

2. Proyecto nvm-windows, no desarrollado por el equipo original pero muy útil.

3. Proyecto nodist, no desarrollado por el equipo original.

4. Proyecto nvs, no desarrollado por el equipo original.

En el presente artículo, nos enfocaremos en instalar y listar los comandos más utilizados de NVM para un sistema operativo Windows usando el proyecto nvm-windows.

Descargar e instalar última versión estable

Descargar instalador de nvm y descomprimir instalador para visualizar el archivo nvm-setup.exe.

Instalador de NVM

✓ Antes de instalar, tener las siguientes consideraciones:

Asegurarse que no tiene ninguna versión de Node instalada.

Verificar y borrar si tiene algún directorio de instalación de Node en la siguiente ruta: C:\Program Files\nodejs.

Verificar y borrar si tiene algún directorio de instalación de Npm en la siguiente ruta: C:\Users\<user>\AppData\Roaming\npm.

✓ Ejecute el instalador nvm-setup.exe y siga los pasos por defecto para instalar NVM.

Guía de instalación de NVM

✓ Para verificar la instalación correcta, ejecute nvm en su terminal para visualizar las opciones disponibles.

NVM instalado correctamente

Manejo de múltiples versiones de Node

✓ Para visualizar todas las versiones disponibles de Node, ejecute el comando nvm ls available. El listado mostrado son los últimos pero no todos los disponibles.

Listado de opciones de Node disponibles

✓ Para instalar la última versión estable disponible, ejecute el comando nvm install latest.

Instalación de última versión estable de Node disponible

✓ Para instalar una versión específica, ejecute el comando nvm install <version>. Si desea instalar una versión específica por la versión major, ejecute el comando nvm install <major-version>.

Instalación de versión específica de Node

✓ Para listar todas las versiones instaladas, ejecute el comando nvm ls.

Listado de versiones de Node instaladas

✓ Para usar o cambiar de una versión instalada de Node, ejecute el comando nvm use <version>.

Usar o cambiar de versión de Node instalado

Manejo de versiones de Npm

✓ Cuando instalamos una instancia de Node, también se instalada una versión de npm compatible. Usted lo puede validar con el siguiente comando npm -v.

Npm instalado por cada versión de Node

✓ Considerar que cada instancia de Node instalado con su respectivo Npm, maneja sus propios paquetes y no son compartidos con otras versiones. Sin embargo, es posible instalar paquetes de una versión a otra con el siguiente comando nvm install <new-version> — reinstall-packages-from=<old-version>.

Consideraciones para el uso de NVM

✓ Cuando use algunos comandos de NVM, le pedirá confirmación de administrador. Por ejemplo, cuando quiere cambiar de versión de Node.

✓ Cada vez que tenga una versión de Node activa, se crea un acceso directo (link symbol) que referencia a la ubicación real donde se instaló su versión de Node.

Recomendaciones para el uso de NVM en entornos corporativos con restricción de permisos

Cuando requerimos usar NVM en entornos corporativos, podría pasar que cuando instalemos una instancia de Node, no se instale una versión de Npm asociada (esto impide poder instalar paquetes) debido a restricciones de permisos, firewall corporativo o antivirus.

Para ello, puede usar una versión de Npm ya creada anteriormente y copiarlo dentro de la ruta de su versión de Node instalada.

Si usted no tiene una versión de Npm, le recomiendo usar el paquete de mi repositorio y reemplazarlo en su versión de Node.

Para cualquier comentario, duda u observación, puedes contactarme por medio de mi perfil Linkedin.

--

--

Gustavo Ramos Montalvo

Ingeniero de software con pasión en negocios, tecnología, automatizaciones y e-commerce