nvm: versiones de Node y estado del shell
Qué es nvm: un gestor de versiones de Node que vive en tu shell
Comprende instalación por usuario, selección por shell y la diferencia entre nvm-sh/nvm y otras herramientas de Windows con el mismo nombre.
Qué aprenderás
- Separa el gestor del runtime
- La plataforma forma parte de la decisión
- Evalúa un flujo de proyecto reproducible
Antes de empezar
- Comandos de shell y entorno de procesos
- Distinguir instalación y selección del runtime
Diagnostica la versión solicitada frente a la activa y define límites explícitos de instalación y verificación.
Conclusiones clave
- Versión del gestor y versión de Node son identificadores diferentes.
- La selección afecta a la shell y a procesos iniciados después.
- El proyecto de shell y las alternativas nativas de Windows son herramientas distintas.
Separa el gestor del runtime
nvm-sh/nvm administra varias instalaciones de Node.js y selecciona una para una shell. Está implementado principalmente mediante funciones de shell, no como servidor residente ni como runtime JavaScript. El repositorio inspeccionado indica nvm 0.40.7; ese número identifica al gestor, mientras que Node 24.14.0 identifica otro componente con un ciclo de versiones independiente.
La instalación pertenece al usuario y la selección a cada shell. Dos terminales pueden resolver node a binarios diferentes sin reemplazar un único ejecutable global. Una aplicación ya iniciada no cambia de runtime al modificar la shell actual. Este modelo ayuda especialmente cuando se mantienen proyectos con requisitos de Node incompatibles.
La plataforma forma parte de la decisión
El README describe shells de estilo POSIX en Unix, macOS y WSL, con notas condicionadas para Git Bash y Cygwin. Las alternativas nativas de Windows mencionadas son implementaciones separadas, no productos mantenidos por nvm-sh. No supongas que una guía de PowerShell u otro producto nvm comparte rutas, comandos y comportamiento de selección.
Como nvm es una función de shell, la comprobación documentada es command -v nvm; buscar únicamente un ejecutable con which puede confundir. La shell debe cargar nvm.sh desde el directorio elegido. Que el archivo exista en disco no significa que un proceso no interactivo que nunca lo carga tenga disponible ese comando.
Evalúa un flujo de proyecto reproducible
Un proyecto puede registrar una versión solicitada en .nvmrc y después instalarla o seleccionarla explícitamente. El archivo expresa intención: no descarga Node por existir ni cambia automáticamente todas las futuras terminales. Los hooks de directorio de la documentación son integración adicional, y algunos instalan versiones ausentes, por lo que requieren revisión.
La serie utiliza código fijado y 16 casos sobre helpers de PATH y .nvmrc en procesos Bash aislados. No instaló nvm o Node, modificó perfiles, ejecutó toda la suite original ni certificó producción. El proyecto con licencia MIT se evalúa dentro de esos límites, sin clasificaciones inventadas de velocidad o compatibilidad.
Pasos de implementación
- 1
Identifica entorno operativo y shell.
- 2
Comprueba si la shell ha cargado nvm.
- 3
Registra requisito del runtime y versión del gestor por separado.
- 4
Verifica el binario real antes de probar el proyecto.
Ejemplo para copiar
# Inspección; supone que nvm ya está cargado
command -v nvm
nvm --version
nvm current
nvm which current
node --versionPreguntas frecuentes
¿Cambiar nvm actualiza un servidor en ejecución?
No. Un proceso conserva ejecutable y entorno de inicio. Selecciona la versión antes de iniciar uno nuevo.
¿Es igual que un programa nvm nativo de Windows?
No. Esta serie trata nvm-sh/nvm y su modelo de shell. Otras implementaciones tienen mantenedores y comportamientos distintos.
Fuentes
- README.mdFuente verificada 2026-09-08
- package.jsonFuente verificada 2026-09-08
- LICENSE.mdFuente verificada 2026-09-08
- nvm.shFuente verificada 2026-09-08