Windows27 de mayo de 2026 10 vistas

Installer Node.js sur Windows Server

Installer Node.js sur Windows Server

Resumen rápido: Instalar Node.js en Windows Server en 5 pasos

El método más confiable en producción: nvm-windows.

# 1. Descargar y ejecutar nvm-setup.exe desde GitHub
# 2. Verificar la instalación
nvm version

# 3. Instalar la versión LTS
nvm install lts

# 4. Activar la versión instalada (ej. 24.16.0)
nvm use 24.16.0

# 5. Verificar Node.js y npm
node -v && npm -v

Luego, despliega tu app con PM2 para que sobreviva a los reinicios del servidor.


Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Windows Server 2019 o 2022 con acceso de administrador

  • Conexión RDP activa

  • 1 GB de RAM mínimo (2 GB recomendados para producción)

  • Puertos abiertos: 3000 (dev), 80/443 (prod)

  • PowerShell 5.1+: incluido por defecto en Windows Server 2019/2022


¿Qué método de instalación elegir?

Existen tres opciones para instalar Node.js en Windows Server. Aquí está la comparación:

Método

Caso de uso

Ventajas

Desventajas

nvm-windows

Desarrolladores, producción multi-proyectos

Gestión multi-versiones, cambio rápido

Instalación ligeramente más larga

Instalador MSI

Versión única, inicio rápido

Sencillo, familiar

Dificultad para cambiar de versión

winget

Windows Server 2022 moderno

CLI nativo, rápido

Menos control sobre las versiones

Recomendación: nvm-windows. En un VPS Windows en producción, necesitarás tarde o temprano alternar entre Node 20 LTS y Node 22. Mejor preverlo desde el principio.


Método 1: Instalar Node.js con nvm-windows (recomendado)

nvm-windows es el gestor de versiones de Node.js para Windows. Es un proyecto distinto de nvm (que solo funciona en Linux/macOS).

Paso 1: Descargar nvm-windows

Dirígete a la página de releases de GitHub: 👉 https://github.com/coreybutler/nvm-windows/releases

Descarga nvm-setup.exe (última versión estable, actualmente v1.2.x).

Paso 2: Lanzar el instalador

Ejecuta nvm-setup.exe como Administrador. Mantén las rutas de instalación por defecto.

Paso 3: Verificar la instalación

Abre una nueva terminal de PowerShell (importante: cierra la anterior):

nvm version

Resultado esperado: 1.2.x o superior.

Paso 4: Instalar Node.js LTS

nvm install lts

Este comando descarga automáticamente la última versión LTS (actualmente 24.16.0).

Paso 5: Activar la versión

nvm use 24.16.0

Reemplaza 24.16.0 por la versión mostrada después de nvm install lts.

Paso 6: Verificar Node.js y npm

node -v && npm -v

Resultado esperado:

v24.16.0
10.x.x

Paso 7: Instalar y gestionar múltiples versiones

# Instalar Node 20 LTS y Node 22
nvm install 20.19.0
nvm install 22.14.0

# Cambiar a Node 22
nvm use 22.14.0

# Listar todas las versiones instaladas
nvm list

Método 2: Instalar Node.js con el instalador MSI

Método más directo para una versión única. Ideal si solo tienes un proyecto y no planeas cambiar de versión.

Pasos

  1. Ve a https://nodejs.org/en/download

  2. Descarga el Instalador de Windows (.msi): elige la versión LTS

  3. Lanza el instalador y marca "Add to PATH" durante la instalación

  4. Verifica en PowerShell:

node -v && npm -v

Limitación principal: para cambiar de versión, debes desinstalar manualmente y luego reinstalar. Poco práctico en producción.


Método 3: Instalar Node.js con winget

Disponible en Windows Server 2022 con App Installer instalado. Solo se necesita un comando:

winget install OpenJS.NodeJS.LTS

Verificación:

node -v

Nota: winget instala una versión fija. Para cambiar de versión, vuelve a usar winget upgrade o cambia a nvm-windows.


Desplegar una aplicación Node.js en Windows Server

Vamos a crear una app Express.js minimalista para validar la instalación de extremo a extremo.

Paso 1: Crear la carpeta del proyecto

mkdir C:\apps\monapp
cd C:\apps\monapp

Paso 2: Inicializar npm

npm init -y

Paso 3: Instalar Express

npm install express

Paso 4: Crear el archivo server.js

New-Item server.js
notepad server.js

Pega este código en Notepad:

const express = require('express');
const app = express();
const PORT = 3000;

app.get('/', (req, res) => {
  res.send('¡Hola desde OuiHeberg VPS!');
});

app.listen(PORT, () => {
  console.log(`Servidor iniciado en el puerto ${PORT}`);
});

Guarda y cierra Notepad.

Paso 5: Probar la aplicación

node server.js

Abre un navegador en tu VPS y accede a http://localhost:3000. Deberías ver:

¡Hola desde OuiHeberg VPS!

Ctrl+C para detener el servidor. Ahora pasemos a PM2 para mantenerlo en línea.


Mantener Node.js en línea con PM2

Esta es la parte que la mayoría de las guías olvidan. Sin PM2, tu app se detiene tan pronto como cierras PowerShell o el servidor se reinicia.

Paso 1: Instalar PM2

npm install -g pm2

Paso 2: Iniciar la aplicación con PM2

pm2 start C:\apps\monapp\server.js --name "monapp"

Paso 3: Configurar el inicio automático

pm2 startup

PM2 genera un comando para copiar y pegar y ejecutar. Ejecuta eso. Luego guarda el estado actual:

pm2 save

A partir de ahora, tu app se reiniciará automáticamente después de cada reinicio del VPS.

Comandos esenciales de PM2

Comando

Acción

pm2 list

Listar todos los procesos

pm2 logs monapp

Mostrar logs en tiempo real

pm2 restart monapp

Reiniciar la aplicación

pm2 stop monapp

Detener la aplicación

pm2 monit

Monitoreo en tiempo real (CPU, RAM)

pm2 delete monapp

Eliminar el proceso de PM2

PM2 es gratuito y de código abierto (licencia MIT). Es el estándar de facto para la gestión de procesos Node.js en producción.


Configurar el firewall de Windows para Node.js

Sin este paso, tu app es inaccesible desde el exterior. Abre PowerShell como Administrador:

# Abrir el puerto 3000 (desarrollo)
New-NetFirewallRule -DisplayName "Node.js Dev" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow

# Abrir el puerto 80 (producción HTTP)
New-NetFirewallRule -DisplayName "Node.js HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

# Abrir el puerto 443 (producción HTTPS)
New-NetFirewallRule -DisplayName "Node.js HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Verifica que las reglas estén activas:

Get-NetFirewallRule -DisplayName "Node.js*" | Select Name, Enabled

Resultado esperado: Enabled = True para cada regla.


Gestionar múltiples versiones de Node.js con nvm-windows

Esta es una de las grandes ventajas de nvm-windows: probar tu app en Node 20 LTS antes de migrar a Node 22, sin desinstalar nada.

# Listar las versiones instaladas
nvm list

# Instalar una versión específica
nvm install 20.19.0

# Cambiar a esta versión
nvm use 20.19.0

# Desinstalar una versión obsoleta
nvm uninstall 18.20.0

Caso de uso típico: tu app corre en Node 20 en producción. Instalas Node 22 con nvm install 22.14.0, pruebas con nvm use 22.14.0, y si todo va bien, actualizas la producción.


Actualizar Node.js en Windows Server

Con nvm-windows, la actualización es limpia y reversible:

# Instalar la nueva versión LTS
nvm install lts

# Activar la nueva versión (ej. 24.16.0)
nvm use 24.16.0

# Eliminar la versión anterior si todo funciona
nvm uninstall 22.14.0

Importante: siempre prueba la compatibilidad de tu aplicación antes de cambiar a producción. Algunos paquetes npm pueden tener dependencias relacionadas con una versión principal de Node.


Solución de problemas: 6 errores frecuentes

1. 'node' no es reconocido como comando

El PATH no está configurado. Cierra y vuelve a abrir PowerShell, luego relanza nvm use [versión].

2. nvm is not recognized

nvm-windows no está instalado correctamente. Reinstala nvm-setup.exe como Administrador.

3. EACCES: permission denied al hacer un npm install -g

Lanza PowerShell como Administrador antes de ejecutar el comando.

4. Port 3000 already in use

Un proceso ya ocupa el puerto. Identifícalo y deténlo:

netstat -ano | findstr :3000
taskkill /PID [PID] /F

Reemplaza [PID] por el número de proceso mostrado.

5. PM2 no reinicia después de un reinicio

El comando generado por pm2 startup no se ha ejecutado. Relanza pm2 startup, copia y pega el comando mostrado, luego haz pm2 save.

6. node_modules faltantes después de un cambio de versión nvm

Normal: cada versión de Node tiene sus propios módulos globales. Relanza npm install en la carpeta de tu proyecto después de cada nvm use.


FAQ

¿Qué versión de Node.js instalar en Windows Server?

Siempre la versión LTS (Long Term Support). Recibe parches de seguridad durante 3 años y está diseñada para la estabilidad en producción. En mayo de 2026, la LTS activa es Node.js 24.x.

¿Node.js funciona en Windows Server 2019 y 2022?

Sí, ambos son totalmente compatibles. Node.js publica binarios nativos de Windows para cada versión LTS. nvm-windows funciona en ambos.

¿Cuál es la diferencia entre nvm-windows y nvm?

nvm (nvm-sh) está diseñado solo para Linux y macOS: no funciona en Windows. nvm-windows es un proyecto separado, desarrollado por Corey Butler, que cumple el mismo rol en Windows.

¿Cómo ver qué versión de Node.js está activa?

node -v
# o
nvm list

La versión activa está marcada con un asterisco * en nvm list.

¿PM2 es gratuito?

Sí. PM2 Runtime es de código abierto bajo licencia MIT. Existe una versión de pago (PM2 Plus) para monitoreo avanzado, pero no es necesaria para la mayoría de los proyectos.

¿Se pueden ejecutar múltiples apps Node.js en el mismo VPS?

Sí, con PM2: cada app escucha en un puerto diferente (3000, 3001, 3002…). Para exponer todo eso en el puerto 80/443, utiliza un reverse proxy como Nginx o IIS al frente.


Fuentes útiles