Skip to content

🟢 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.

ComandoQué haceEjemplo
nvm -vMuestra la versión instalada de nvmnvm -v
nvm lsLista las versiones de Node instaladas localmentenvm ls
nvm ls-remoteLista las versiones de Node disponibles para instalarnvm ls-remote --lts
nvm install <ver>Descarga e instala una versión de Nodenvm install 20
nvm install --ltsInstala la última versión LTS (recomendada)nvm install --lts
nvm use <ver>Cambia la versión de Node activa en la terminalnvm use 20
nvm alias default <ver>Fija la versión por defecto al abrir la terminalnvm alias default 20
nvm currentMuestra la versión de Node activa ahora mismonvm current
nvm which <ver>Muestra la ruta de instalación de una versiónnvm which 20
nvm uninstall <ver>Desinstala una versión de Nodenvm uninstall 18

⚠️ Ojo: nvm -list no existe; el correcto es nvm 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 a system, NO estás usando una versión de nvm sino el Node del sistema.
  • (-> N/A) junto a un lts/* = 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ás Now using node vX...).
  • nvm install --lts instala la última LTS disponible (no la que ya tengas).
  • Si instalas algo ya instalado: vX.Y.Z is already installed y solo la activa.
  • nvm use dura solo para la terminal actual; nvm alias default la 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 ​

ComandoQué haceEjemplo
node -vMuestra la versión de Node activanode -v
npm -vMuestra la versión de npmnpm -v
nvm currentVersión de Node que nvm cree que está activanvm current
which nodeRuta del node que se ejecuta de verdadwhich node
type -a nodeMuestra todos los node del PATH (para ver duplicados)type -a node
echo $PATHMuestra el orden de búsqueda de ejecutablesecho $PATH

⚠️ Si node -v y nvm current NO coinciden, hay otro Node "pisando" al de nvm en el PATH. Diagnostícalo con which node y type -a node. → ver ../../06-Errores/.