Windows27 mai 2026 10 vues

Installer Node.js sur Windows Server

Installer Node.js sur Windows Server

Résumé rapide: Installer Node.js sur Windows Server en 5 étapes

La méthode la plus fiable en production : nvm-windows.

# 1. Télécharger et exécuter nvm-setup.exe depuis GitHub
# 2. Vérifier l'installation
nvm version

# 3. Installer la version LTS
nvm install lts

# 4. Activer la version installée (ex. 24.16.0)
nvm use 24.16.0

# 5. Vérifier Node.js et npm
node -v && npm -v

Ensuite, déployez votre app avec PM2 pour qu'elle survive aux redémarrages du serveur.


Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Windows Server 2019 ou 2022 avec accès administrateur

  • Connexion RDP active

  • 1 Go de RAM minimum (2 Go recommandés pour la production)

  • Ports ouverts : 3000 (dev), 80/443 (prod)

  • PowerShell 5.1+: inclus par défaut sur Windows Server 2019/2022


Quelle méthode d'installation choisir ?

Trois options existent pour installer node js sur Windows Server. Voici la comparaison :

Méthode

Cas d'usage

Avantages

Inconvénients

nvm-windows

Développeurs, production multi-projets

Gestion multi-versions, switch rapide

Installation légèrement plus longue

Installateur MSI

Version unique, démarrage rapide

Simple, familier

Difficile de changer de version

winget

Windows Server 2022 moderne

CLI natif, rapide

Moins de contrôle sur les versions

Recommandation : nvm-windows. Sur un VPS windows en production, vous aurez tôt ou tard besoin de jongler entre Node 20 LTS et Node 22. Autant le prévoir dès le départ.


Méthode 1: Installer Node.js avec nvm-windows (recommandée)

nvm-windows est le gestionnaire de versions Node.js pour Windows. C'est un projet distinct de nvm (qui lui ne fonctionne que sur Linux/macOS).

Étape 1: Télécharger nvm-windows

Rendez-vous sur la page des releases GitHub : 👉 https://github.com/coreybutler/nvm-windows/releases

Téléchargez nvm-setup.exe (dernière version stable, actuellement v1.2.x).

Étape 2: Lancer l'installateur

Exécutez nvm-setup.exe en tant qu'Administrateur. Gardez les chemins d'installation par défaut.

Étape 3: Vérifier l'installation

Ouvrez un nouveau terminal PowerShell (important : fermez l'ancien) :

nvm version

Résultat attendu : 1.2.x ou supérieur.

Étape 4: Installer Node.js LTS

nvm install lts

Cette commande télécharge automatiquement la dernière version LTS (actuellement 24.16.0).

Étape 5: Activer la version

nvm use 24.16.0

Remplacez 24.16.0 par la version affichée après nvm install lts.

Étape 6: Vérifier Node.js et npm

node -v && npm -v

Résultat attendu :

v24.16.0
10.x.x

Étape 7: Installer et gérer plusieurs versions

# Installer Node 20 LTS et Node 22
nvm install 20.19.0
nvm install 22.14.0

# Basculer sur Node 22
nvm use 22.14.0

# Lister toutes les versions installées
nvm list

Méthode 2: Installer Node.js avec l'installateur MSI

Méthode la plus directe pour une version unique. Idéale si vous n'avez qu'un seul projet et que vous ne prévoyez pas de changer de version.

Étapes

  1. Allez sur https://nodejs.org/en/download

  2. Téléchargez le Windows Installer (.msi): choisissez la version LTS

  3. Lancez l'installateur et cochez "Add to PATH" lors de l'installation

  4. Vérifiez dans PowerShell :

node -v && npm -v

Limite principale : pour changer de version, il faut désinstaller manuellement puis réinstaller. Peu pratique en production.


Méthode 3: Installer Node.js avec winget

Disponible sur Windows Server 2022 avec App Installer installé. Une seule commande suffit :

winget install OpenJS.NodeJS.LTS

Vérification :

node -v

Note : winget installe une version fixe. Pour changer de version, repassez par winget upgrade ou basculez vers nvm-windows.


Déployer une application Node.js sur Windows Server

On va créer une app Express.js minimaliste pour valider l'installation de bout en bout.

Étape 1: Créer le dossier du projet

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

Étape 2: Initialiser npm

npm init -y

Étape 3: Installer Express

npm install express

Étape 4: Créer le fichier server.js

New-Item server.js
notepad server.js

Collez ce code dans Notepad :

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

app.get('/', (req, res) => {
  res.send('Hello from OuiHeberg VPS!');
});

app.listen(PORT, () => {
  console.log(`Serveur démarré sur le port ${PORT}`);
});

Sauvegardez et fermez Notepad.

Étape 5: Tester l'application

node server.js

Ouvrez un navigateur sur votre VPS et accédez à http://localhost:3000. Vous devez voir :

Hello from OuiHeberg VPS!

Ctrl+C pour arrêter le serveur. Passons maintenant à PM2 pour le garder en ligne.


Garder Node.js en ligne avec PM2

C'est la partie que la plupart des guides oublient. Sans PM2, votre app s'arrête dès que vous fermez PowerShell ou que le serveur redémarre.

Étape 1: Installer PM2

npm install -g pm2

Étape 2: Démarrer l'application avec PM2

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

Étape 3: Configurer le démarrage automatique

pm2 startup

PM2 génère une commande à copier-coller et exécuter. Exécutez-la. Puis sauvegardez l'état actuel :

pm2 save

Désormais, votre app redémarre automatiquement après chaque reboot du VPS.

Commandes PM2 essentielles

Commande

Action

pm2 list

Lister tous les processus

pm2 logs monapp

Afficher les logs en temps réel

pm2 restart monapp

Redémarrer l'application

pm2 stop monapp

Stopper l'application

pm2 monit

Monitoring en temps réel (CPU, RAM)

pm2 delete monapp

Supprimer le processus de PM2

PM2 est gratuit et open source (licence MIT). C'est le standard de facto pour la gestion de processus Node.js en production.


Configurer le pare-feu Windows pour Node.js

Sans cette étape, votre app est inaccessible depuis l'extérieur. Ouvrez PowerShell en tant qu'Administrateur :

# Ouvrir le port 3000 (développement)
New-NetFirewallRule -DisplayName "Node.js Dev" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow

# Ouvrir le port 80 (production HTTP)
New-NetFirewallRule -DisplayName "Node.js HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

# Ouvrir le port 443 (production HTTPS)
New-NetFirewallRule -DisplayName "Node.js HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

Vérifiez que les règles sont bien actives :

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

Résultat attendu : Enabled = True pour chaque règle.


Gérer plusieurs versions de Node.js avec nvm-windows

C'est l'un des grands avantages de nvm-windows : tester votre app sur Node 20 LTS avant de migrer vers Node 22, sans rien désinstaller.

# Lister les versions installées
nvm list

# Installer une version spécifique
nvm install 20.19.0

# Basculer vers cette version
nvm use 20.19.0

# Désinstaller une version obsolète
nvm uninstall 18.20.0

Cas d'usage typique : votre app tourne sur Node 20 en production. Vous installez Node 22 avec nvm install 22.14.0, vous testez avec nvm use 22.14.0, et si tout va bien, vous mettez à jour la prod.


Mettre à jour Node.js sur Windows Server

Avec nvm-windows, la mise à jour est propre et réversible :

# Installer la nouvelle version LTS
nvm install lts

# Activer la nouvelle version (ex. 24.16.0)
nvm use 24.16.0

# Supprimer l'ancienne version si tout fonctionne
nvm uninstall 22.14.0

Important : testez toujours la compatibilité de votre application avant de basculer en production. Certains packages npm peuvent avoir des dépendances liées à une version majeure de Node.


Dépannage: 6 erreurs fréquentes

1. 'node' n'est pas reconnu comme commande

Le PATH n'est pas configuré. Fermez et rouvrez PowerShell, puis relancez nvm use [version].

2. nvm is not recognized

nvm-windows n'est pas correctement installé. Réinstallez nvm-setup.exe en tant qu'Administrateur.

3. EACCES: permission denied lors d'un npm install -g

Lancez PowerShell en tant qu'Administrateur avant d'exécuter la commande.

4. Port 3000 already in use

Un processus occupe déjà le port. Identifiez-le et arrêtez-le :

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

Remplacez [PID] par le numéro de processus affiché.

5. PM2 ne redémarre pas après un reboot

La commande générée par pm2 startup n'a pas été exécutée. Relancez pm2 startup, copiez-collez la commande affichée, puis faites pm2 save.

6. node_modules manquants après un switch de version nvm

Normal : chaque version Node a ses propres modules globaux. Relancez npm install dans le dossier de votre projet après chaque nvm use.


FAQ

Quelle version de Node.js installer sur Windows Server ?

Toujours la version LTS (Long Term Support). Elle reçoit des correctifs de sécurité pendant 3 ans et est conçue pour la stabilité en production. En mai 2026, la LTS active est Node.js 24.x.

Node.js fonctionne-t-il sur Windows Server 2019 et 2022 ?

Oui, les deux sont pleinement supportés. Node.js publie des binaires Windows natifs pour chaque version LTS. nvm-windows fonctionne sur les deux.

Quelle différence entre nvm-windows et nvm ?

nvm (nvm-sh) est conçu pour Linux et macOS uniquement: il ne fonctionne pas sur Windows. nvm-windows est un projet séparé, développé par Corey Butler, qui remplit le même rôle sur Windows.

Comment voir quelle version de Node.js est active ?

node -v
# ou
nvm list

La version active est marquée d'un astérisque * dans nvm list.

PM2 est-il gratuit ?

Oui. PM2 Runtime est open source sous licence MIT. Il existe une version payante (PM2 Plus) pour le monitoring avancé, mais elle n'est pas nécessaire pour la plupart des projets.

Peut-on faire tourner plusieurs apps Node.js sur le même VPS ?

Oui, avec PM2 : chaque app écoute sur un port différent (3000, 3001, 3002…). Pour exposer tout ça sur le port 80/443, utilisez un reverse proxy comme Nginx ou IIS en frontal.


Sources utiles