# Instalar múltiples versiones de Node.js en Windows

Español | English

Una vez nos hemos sumergido en los frameworks y entornos de trabajo front end modernos, vamos a empezar a encontrarnos con que cada uno de nuestros proyectos puede haber sido creado con una versión diferente de Node.js, lo que implica que debamos empezar a tener en cuenta la versión mínima y máxima soportada de cada paquete npm en cada versión de Node.js. Es el caso por ejemplo del paquete node-sass (opens new window), cuyas versiones mínimas y máximas compatibles con Node.js son:

Node.js Versión node-sass soportada
Node 15 5.0+
Node 14 4.14+
Node 13 4.13+, <5.0
Node 12 4.12+
Node 11 4.10+, <5.0
Node 10 4.9+
Node 8 4.5.3+, <5.0
Node <8 <5.0

Poniéndonos en este contexto, podría darse el caso por ejemplo de que no hayamos podido migrar un viejo proyecto Angular de la versión 7.0.0 a la más actual. En ese caso, si queremos seguir trabajando en él sin realizar la migración, nos encontraremos en nuestro fichero package.json la dependencia "@angular-devkit/build-angular": "~0.7.0", que a su vez depende de "node-sass": "^4.9.3". Esto implica que en lugar de trabajar con la versión más actual de Node.js, deberíamos hacerlo (según la tabla anterior) con la versión 10.x de Node.js, ya que en caso contrario tendríamos problemas con el uso de librerías dependientes como node-sass.

# Node Version Manager (nvm) al rescate

Ahora que ya no hay marcha atrás, toca descubrir herramientas como nvm windows (opens new window) que nos permitirá administratar en nuestro equipo Windows múltiples instalaciones de Node.js. Si eres usuario de Mac o Linux, debes usar el proyecto nvm (opens new window), muy similar pero exclusivo para dichos entornos.

# Instalación

En primer lugar, es muy importante para evitar futuros conflictos entre versiones, que desinstalemos de nuestro ordenador cualquier versión previa de Node.js, así como toda referencia a dicha instalación mediante la eliminación de los directorios de instalación C:\Program Files\nodejs y de instalación npm C:\Users<user>\AppData\Roaming\npm. Acuérdate antes de hacer un backup de la configuración C:\Users<user>\AppData\Roaming\npm\etc\npmrc o copiarla a la configuración de usuario C:\Users<user>.npmrc.

Descárgate el último instalador (opens new window) (nvm-setup.zip) y completa la instalación.

# Uso

Escribiendo simplemente el comando nvm en nuestro terminal, tendremos una lista de todas las opciones disponibles.

# Instalación de Node.js

Basta con que usemos el comando nvm install [version] para que instalemos la versión de Node.js que queramos tener disponible. Debemos tener derechos administrativos de Windows para ejecutar este comando.

# Cambio de version Node.js a usar

Usando el comando nvm use [version] indicaremos qué versión de Node.js queremos usar. Debemos tener derechos administrativos de Windows para ejecutar este comando.

Una vez establecida la versión en uso, ya podemos trabajar con ella con los comandos habituales, npm i por ejemplo.

Debemos tener en cuenta que a partir de este momento, debemos instalar cada utilidad global que necesitemos en cada una de las version de Node.js que vayamos a mantener. Es el caso por ejemplo de Yarn o Angular CLI, cuyas versiones deberemos instalar por cada instancia de Node.js.

nvm install 10.23.1
nvm use 10.23.1
npm install -g yarn
npm install -g @angular/cli

nvm install 12.20.1
nvm use 12.20.1
npm install -g yarn
npm install -g @angular/cli

nvm install 15.6.7
nvm use 15.6.7
npm install -g yarn
npm install -g @angular/cli

# Consultar las instalaciones existentes de Node.js

Con el comando nvm install list nos mostrará la lista de versiones Node.js instaladas, así como la versión actualmente activa.