¿Qué es NVM (Node Version Manager)?
NVM es una herramienta de línea de comandos diseñada para gestionar múltiples versiones de Node.js en tu sistema. Permite a los desarrolladores instalar, desinstalar y, lo más importante, cambiar fácilmente entre diferentes versiones de Node.js en un sistema por sesión de shell (terminal). También te dejo nuestra blog para que lo puedas visitar.
¿Por qué usar NVM?
- Evita Conflictos: Diferentes proyectos a menudo requieren versiones específicas de Node.js. Usar NVM te asegura que cada proyecto esté ejecutándose con la versión correcta, evitando errores de compatibilidad.
- Facilita las Pruebas: Permite probar rápidamente tus aplicaciones con versiones más nuevas o antiguas de Node.js para verificar la compatibilidad o prepararte para una actualización.
- Versiones de Paquetes Globales Aisladas: Cada versión de Node.js gestionada por NVM tiene su propio conjunto de paquetes globales de npm, lo que previene conflictos entre ellos.
- Simpleza: Simplifica el proceso de instalación y cambio de versiones en comparación con la instalación manual o usando gestores de paquetes del sistema.

Comandos y Ejemplos de Uso de NVM
Aquí están los comandos principales y cómo usarlos (el hack que mencionas se relaciona con el archivo .nvmrc):
| Comando | Descripción | Ejemplo de Uso |
nvm install <version> | Instala una versión específica de Node.js. Puedes usar alias como node (la última versión) o lts (la última versión de Soporte a Largo Plazo). | nvm install 20.11.0 |
nvm use <version> | Cambia a una versión de Node.js instalada en la sesión de terminal actual. (El «hack» que mencionas). | nvm use 18.19.1 |
nvm ls | Lista todas las versiones de Node.js instaladas en tu sistema. | nvm ls |
nvm ls-remote | Muestra una lista de todas las versiones de Node.js disponibles para instalar. | nvm ls-remote |
nvm current | Muestra la versión de Node.js actualmente en uso. | nvm current |
nvm alias default <version> | Establece una versión de Node.js como la versión predeterminada para nuevas terminales. | nvm alias default 20.11.0 |
nvm uninstall <version> | Desinstala una versión específica de Node.js. | nvm uninstall 14.17.6 |
Exportar a Hojas de cálculo
Hack para adaptarse a cada proyecto: Uso de .nvmrc
Muchos desarrolladores usan un archivo llamado .nvmrc en la raíz de su proyecto. Este archivo de texto simple contiene solo el número de versión de Node.js que requiere el proyecto (por ejemplo: 16.20.2 o lts).
Cuando ejecutas el comando nvm use (sin especificar una versión) dentro de un directorio que contiene un archivo .nvmrc, NVM automáticamente lee el archivo y cambia a esa versión.
| Comando | Descripción | Ejemplo |
Crear .nvmrc | Crea un archivo en la raíz del proyecto para fijar la versión. | echo "18.19.1" > .nvmrc |
nvm use | Cambia a la versión especificada en el archivo .nvmrc del directorio. | (Dentro del proyecto): nvm use |
Exportar a Hojas de cálculo
¿Por Qué es Crucial NVM en el Desarrollo? 💡
La necesidad de NVM surge de la naturaleza dinámica de Node.js.
- Compatibilidad de Proyectos: Los proyectos de software viven mucho tiempo, y las dependencias (librerías y paquetes) evolucionan. Un proyecto antiguo puede requerir Node.js v14.x, mientras que uno nuevo usa la versión v20.x. Si solo tuvieras una versión global, intentarías ejecutar el proyecto antiguo con la versión nueva, lo que casi siempre resultaría en errores de compatibilidad.
- Ciclo de Vida de Soporte (LTS): Node.js usa un modelo de Soporte a Largo Plazo (LTS). Es común necesitar cambiar entre la versión LTS activa (para producción estable) y la versión actual (para probar nuevas características). NVM lo simplifica con alias como
nvm install ltsonvm use lts. - Ambientes Aislados: Cuando instalas paquetes globalmente con
npm install -g, estos se instalan dentro del directorio de la versión de Node.js que estás usando. Si cambias de versión con NVM, esos paquetes globales no interfieren con la nueva versión. Esto mantiene limpios y aislados los ambientes de desarrollo de cada versión.
El «Hack» del .nvmrc a Profundidad 🛠️
El comando nvm use es el corazón de la gestión de versiones, y su uso con el archivo .nvmrc es la clave para la automatización en el desarrollo colaborativo.
1. ¿Cómo funciona?
- Creación: En la raíz de tu proyecto, creas un archivo de texto llamado
.nvmrccon un número de versión adentro (ej:18.19.1). - Colaboración: Cuando un nuevo compañero de equipo clona tu proyecto, simplemente ejecuta
nvm instally luegonvm use. NVM lee el archivo y garantiza que todos los desarrolladores estén usando exactamente la misma versión para ese proyecto. Esto elimina el famoso error: «Funciona en mi máquina». - Automatización (Shells): Muchas configuraciones de shell (como Zsh o Bash) pueden configurarse para ejecutar automáticamente
nvm usecada vez que ingresas a un directorio que contenga un archivo.nvmrc.
2. Formato del Archivo .nvmrc
Puedes ser flexible con la versión:
Contenido en .nvmrc | Versión que NVM selecciona |
20.11.0 | Exactamente la versión 20.11.0. |
18 | La última versión de la serie 18.x.x instalada. |
lts/iron | La versión LTS con nombre de código «Iron» (una forma de evitar el número exacto). |
lts | La versión de Soporte a Largo Plazo más reciente. |
Exportar a Hojas de cálculo

Comandos Avanzados y Aliases Útiles ✨
NVM no solo sirve para cambiar versiones, también ofrece utilidades:
| Comando | Descripción | Ejemplo |
nvm alias <name> <version> | Crea un alias personalizado para una versión. Útil para entornos específicos. | nvm alias dev-stack 14.17.6 |
nvm use system | Cambia a la versión de Node.js instalada por defecto en tu sistema (fuera de NVM, si existe). | nvm use system |
nvm reinstall-packages <version> | Reinstala los paquetes globales de una versión anterior en la versión actual. | nvm reinstall-packages 18 |
nvm run <version> <file> | Ejecuta un archivo de Node.js con una versión específica sin cambiar la versión actual de tu shell. | nvm run 14 server.js |
nvm install node | Instala la última versión estable de Node.js. | nvm install node |
Esta es la forma más fluida de asegurarte de que siempre estás usando la versión correcta al cambiar de proyecto.
El siguiente video explica cómo utilizar NVM para gestionar versiones de Node.js, lo cual incluye ejemplos de los comandos mencionados visitar página.
