nvm: versiones de Node y estado del shell
Primeros pasos con nvm: install, use, current y .nvmrc no son lo mismo
Construye un flujo predecible con runtime explícito y distingue la versión solicitada por el proyecto del binario Node activo.
Qué aprenderás
- Empieza tras autorizar conscientemente la instalación
- La intención del proyecto puede diferir del estado activo
- Comprueba la ruta, no solo el mensaje de éxito
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
- Install crea disponibilidad; use selecciona en la shell.
- Una versión exacta es más reproducible que un selector móvil.
- Usa current para comparar intención y ejecución real.
Empieza tras autorizar conscientemente la instalación
El instalador descarga archivos del gestor y puede añadir instrucciones a un perfil de shell. Revisa esa acción aparte de usar un gestor existente. Los comandos siguientes presuponen una instalación autorizada y cargada en una shell compatible; esta revisión no los ejecutó en el entorno del usuario ni descargó una distribución de Node.
Elige para el ejercicio una versión exacta aprobada por el proyecto. Se usa 24.14.0 como valor fijo de ejemplo, no como recomendación de que sea la más reciente o adecuada para producción. nvm install puede descargar e instalar el runtime; nvm use selecciona una versión instalada y cambia el entorno de la shell.
La intención del proyecto puede diferir del estado activo
Un .nvmrc admite una versión u otro selector reconocido, con comentarios y espacios según su formato documentado. use, install y which pueden consultarlo al omitir la versión. La búsqueda asciende desde el directorio actual, por lo que un archivo padre puede gobernar un paquete anidado sin otro más cercano.
current significa la versión activa en esta shell y no queda reemplazado por .nvmrc. Por eso nvm which current ayuda a diagnosticar discrepancias entre intención y ejecución. El README advierte que run y exec sin versión pueden recurrir al Node activo cuando no resuelven un archivo; proporciona versión explícita en scripts que necesitan previsibilidad.
Comprueba la ruta, no solo el mensaje de éxito
Después de seleccionar, inspecciona node --version y el ejecutable resuelto. Alias, funciones, directorios personalizados u otro gestor pueden afectar la resolución. El código conserva deliberadamente parte del orden de PATH, así que sería incorrecto afirmar que cada cambio coloca siempre su directorio por delante de cualquier entrada personalizada.
Verifica también el gestor de paquetes y las pruebas del proyecto. Los paquetes npm globales pertenecen al contexto de instalación seleccionado y un prefix personalizado puede chocar con nvm. Ante un comando global ausente, no instales inmediatamente con privilegios: identifica Node y npm y decide si la herramienta debería ser dependencia local del proyecto.
Pasos de implementación
- 1
Confirma carga de nvm y revisa la versión elegida.
- 2
Instala solo si ese cambio de máquina está autorizado.
- 3
Selecciona explícitamente e inspecciona la ruta de node.
- 4
Ejecuta la aceptación del proyecto con su gestor de paquetes.
Ejemplo para copiar
# Ejercicio opcional tras autorizar nvm; no ejecutado aquí
nvm install 24.14.0
nvm use 24.14.0
nvm which current
node --version
npm --version
# Versión explícita para evitar una alternativa implícita:
nvm exec 24.14.0 node --versionPreguntas frecuentes
¿Escribir .nvmrc cambia inmediatamente la terminal?
No. Debe aplicarlo un comando o un hook configurado por separado. El archivo solo registra una solicitud.
¿Por qué current difiere del archivo?
Current indica el runtime activo; el archivo puede solicitar otro que todavía no se ha seleccionado o instalado.