Apariencia
🟢 nvm y versiones de Node — Angular
⬅️ Volver al índice de comandos
🟢 nvm (Node Version Manager)
Gestiona varias versiones de Node en la misma máquina. Angular es exigente con la versión de Node, así que conviene poder cambiar de versión con facilidad.
| Comando | Qué hace | Ejemplo |
|---|---|---|
nvm -v | Muestra la versión instalada de nvm | nvm -v |
nvm ls | Lista las versiones de Node instaladas localmente | nvm ls |
nvm ls-remote | Lista las versiones de Node disponibles para instalar | nvm ls-remote --lts |
nvm install <ver> | Descarga e instala una versión de Node | nvm install 20 |
nvm install --lts | Instala la última versión LTS (recomendada) | nvm install --lts |
nvm use <ver> | Cambia la versión de Node activa en la terminal | nvm use 20 |
nvm alias default <ver> | Fija la versión por defecto al abrir la terminal | nvm alias default 20 |
nvm current | Muestra la versión de Node activa ahora mismo | nvm current |
nvm which <ver> | Muestra la ruta de instalación de una versión | nvm which 20 |
nvm uninstall <ver> | Desinstala una versión de Node | nvm uninstall 18 |
⚠️ Ojo:
nvm -listno existe; el correcto esnvm ls. Si escribes un comando inválido, nvm imprime toda la ayuda (--help).
🔍 Cómo leer la salida de nvm ls
v20.19.4
v24.0.0
-> system ← la flecha -> marca la versión ACTIVA ahora
default -> 24 (-> v24.18.0) ← versión por defecto al abrir terminal
node -> stable (-> v24.0.0) ← alias "node" = última estable instalada
lts/iron -> v20.20.2 (-> N/A) ← (-> N/A) = NO tienes esa versión exacta
lts/jod -> v22.23.1 ← sin (-> N/A) = SÍ la tienes instalada->(flecha al margen izquierdo) = la versión que estás usando ahora mismo. Si apunta asystem, NO estás usando una versión de nvm sino el Node del sistema.(-> N/A)junto a unlts/*= ese alias apunta a una versión que no tienes instalada.- Cada
lts/<nombre>es una línea LTS de Node con nombre de elemento químico (gallium = 16, hydrogen = 18, iron = 20, jod = 22, krypton = 24).
📝 Notas de comportamiento
- Al hacer
nvm install <ver>, nvm activa esa versión automáticamente (verásNow using node vX...). nvm install --ltsinstala la última LTS disponible (no la que ya tengas).- Si instalas algo ya instalado:
vX.Y.Z is already installedy solo la activa. nvm usedura solo para la terminal actual;nvm alias defaultla hace permanente para terminales nuevas.
🔢 Versiones de Node: PARES (LTS) vs IMPARES
⚠️ Regla de oro: usa versiones PARES de Node (18, 20, 22, 24…) para tus proyectos. Las IMPARES (19, 21, 23, 25…) son experimentales.
- Versiones PARES → llegan a ser LTS (Long Term Support = soporte largo). Son estables y recomendadas para producción.
- Versiones IMPARES → nunca entran en LTS; sirven para probar lo nuevo. No se recomiendan para producción.
Cuando Angular detecta una versión impar, te avisa:
Node.js version v25.0.0 detected.
Odd numbered Node.js versions will not enter LTS status
and should not be used for production.💡 No es un error que bloquee (puedes continuar), pero es señal de que conviene cambiar a una versión par con
nvm install 22/nvm use 22.
🧪 Tip de entrevista: "¿Por qué Node 20 o 22 y no 21?" → porque las impares no son LTS.
🔧 Verificación rápida
| Comando | Qué hace | Ejemplo |
|---|---|---|
node -v | Muestra la versión de Node activa | node -v |
npm -v | Muestra la versión de npm | npm -v |
nvm current | Versión de Node que nvm cree que está activa | nvm current |
which node | Ruta del node que se ejecuta de verdad | which node |
type -a node | Muestra todos los node del PATH (para ver duplicados) | type -a node |
echo $PATH | Muestra el orden de búsqueda de ejecutables | echo $PATH |
⚠️ Si
node -vynvm currentNO coinciden, hay otro Node "pisando" al de nvm en el PATH. Diagnostícalo conwhich nodeytype -a node. → ver../../06-Errores/.