Comment installer Node.js : un guide technique complet pour toutes les plateformes
Node.js est un environnement d’exécution JavaScript open-source et multiplateforme, construit sur le moteur V8 de Chrome, qui exécute du code JavaScript en dehors d’un navigateur. Son modèle d’I/O non bloquant et orienté événements en fait le choix dominant pour la création d’API à haut débit, d’applications en temps réel, de microservices et d’outils côté serveur. Installer Node.js correctement — en utilisant la bonne méthode selon votre système d’exploitation et votre flux de travail — est le fondement d’un environnement de développement stable et reproductible.
Ce guide couvre tous les principaux chemins d’installation : les installateurs officiels, les gestionnaires de paquets natifs du système d’exploitation, les distributions binaires NodeSource, et nvm (Node Version Manager). Il aborde également la gestion des versions, la gestion des paquets globaux et les considérations pour les serveurs de production que la plupart des tutoriels ignorent complètement.
Choisir la bonne méthode d’installation
Avant d’exécuter une seule commande, comprenez ce que chaque méthode vous apporte réellement — car un mauvais choix crée de véritables problèmes opérationnels par la suite.
| Méthode | Idéal pour | Flexibilité des versions | Droits root requis | Notes |
|---|---|---|---|---|
| — | — | — | — | — |
| Installateur officiel `.pkg` / `.msi` | Configuration locale rapide, débutants | Version unique uniquement | Oui | Pollue le PATH système ; difficile de changer de version |
| Gestionnaire de paquets OS (`apt`, `brew`, `yum`) | Installations système, serveurs CI | Limitée | Oui | Livre souvent des versions obsolètes |
| Dépôt binaire NodeSource | Serveurs Linux, épinglage LTS prévisible | Par installation | Oui | Maintenu par NodeSource ; adapté à la production |
| `nvm` (Node Version Manager) | Développement multi-projets | Complète, par shell | Non | Référence pour les postes de travail développeurs |
| `fnm` (Fast Node Manager) | Pipelines CI sensibles aux performances | Complète | Non | Basé sur Rust, nettement plus rapide que nvm |
| Docker / image de conteneur | Builds isolés et reproductibles | Complète, par conteneur | Selon le cas | Idéal pour les microservices et CI/CD |
Règle de décision clé : Sur un poste de travail développeur, utilisez toujours nvm ou fnm. Sur un serveur Linux de production, utilisez le dépôt NodeSource ou une image de conteneur. N’utilisez jamais le paquet Node.js du gestionnaire de paquets par défaut du système d’exploitation sur Ubuntu/Debian — il livre régulièrement des versions qui ont plusieurs années de retard sur le LTS actuel.
Installer Node.js sur Linux
Linux est l’environnement où la plupart des charges de travail Node.js en production s’exécutent réellement. Bien faire les choses ici est plus important qu’ailleurs. Si vous déployez sur un environnement VPS Hosting, les méthodes suivantes s’appliquent directement à votre serveur distant.
Méthode 1 : Distributions binaires NodeSource (recommandée pour les serveurs)
NodeSource maintient des paquets .deb et .rpm signés et à jour qui suivent précisément les lignes de version LTS et Current de Node.js. C’est l’approche la plus fiable pour les serveurs Linux en production.
Ubuntu / Debian :
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejsFedora / CentOS / RHEL / Rocky Linux :
curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo yum install -y nodejsAprès l’installation, vérifiez à la fois l’environnement d’exécution et le gestionnaire de paquets inclus :
node -v
npm -vPiège critique : Le modèle curl | bash exécute un script distant en tant que root. Dans les environnements sensibles à la sécurité, téléchargez d’abord le script, inspectez-le, puis exécutez-le :
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
less nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install -y nodejsMéthode 2 : nvm — Node Version Manager (recommandé pour les développeurs)
nvm installe Node.js entièrement dans votre répertoire personnel (~/.nvm), ne nécessite pas de sudo, et vous permet de changer de version par projet ou par session shell. C’est le bon outil pour tout poste de travail ou serveur multi-locataires où différentes applications nécessitent différentes versions de Node.js.
Installer nvm :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashL’installateur ajoute l’initialisation shell nécessaire à ~/.bashrc, ~/.zshrc ou ~/.profile. Rechargez votre shell :
source ~/.bashrcInstaller la dernière version LTS :
nvm install --ltsInstaller une version spécifique par numéro :
nvm install 20.14.0Basculer entre les versions installées :
nvm use 18
nvm use 20Définir une version par défaut persistante pour les nouvelles sessions shell :
nvm alias default 20Lister toutes les versions installées localement :
nvm lsVérifier la version active :
node -v
npm -vCas particulier — fichiers .nvmrc : Placez un fichier .nvmrc à la racine de votre projet contenant uniquement la chaîne de version (ex. 20.14.0). Exécuter nvm use dans ce répertoire sélectionne automatiquement la version correcte. C’est essentiel dans les environnements d’équipe où la dérive de version provoque des bugs subtils.
echo "20.14.0" > .nvmrc
nvm useMéthode 3 : Gestionnaire de paquets système (acceptable pour les outils, pas pour la production)
Les dépôts apt ou dnf par défaut livrent des versions de Node.js souvent obsolètes. Utilisez ceci uniquement pour des outils non critiques :
sudo apt-get update
sudo apt-get install -y nodejs npmSur Fedora / RHEL 9+ :
sudo dnf install nodejsInstaller Node.js sur macOS
Méthode 1 : Homebrew (recommandé)
Homebrew est le gestionnaire de paquets de facto pour les environnements de développement macOS. Si Homebrew n’est pas encore installé, suivez les instructions sur brew.sh.
brew install nodePour installer une version majeure spécifique (ex. Node.js 20 LTS) :
brew install node@20
brew link --overwrite node@20Vérifier :
node -v
npm -vPiège Homebrew : brew upgrade node mettra à niveau vers la dernière version, ce qui peut casser des projets épinglés à une version plus ancienne. Si vous gérez plusieurs projets, utilisez également nvm sur macOS — le flux de travail est identique à Linux.
Méthode 2 : nvm sur macOS
Les commandes d’installation et d’utilisation de nvm sont identiques à Linux. Les utilisateurs macOS avec Zsh (par défaut depuis Catalina) doivent confirmer que ~/.zshrc contient le bloc d’initialisation nvm après l’installation :
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"Méthode 3 : Installateur officiel .pkg
Téléchargez l’installateur .pkg depuis nodejs.org, exécutez-le et suivez l’assistant. C’est le chemin le plus simple pour les utilisateurs qui ont besoin d’une seule version de Node.js et ne prévoient pas d’en changer. Après l’installation, ouvrez le Terminal et confirmez :
node -v
npm -vInstaller Node.js sur Windows
Méthode 1 : Installateur officiel .msi
Téléchargez l’installateur Windows (.msi) depuis nodejs.org. Sélectionnez la version LTS pour les travaux proches de la production ou Current pour expérimenter les dernières fonctionnalités. L’installateur enregistre automatiquement Node.js dans le PATH système.
Après l’installation, ouvrez l’Invite de commandes ou PowerShell et vérifiez :
node -v
npm -vImportant : Pendant l’assistant d’installation, il y a une étape optionnelle pour installer Chocolatey et les outils de compilation pour les modules natifs (addons C++). Activez-la si les dépendances de votre projet incluent des paquets comme bcrypt, sharp, ou des modules dépendant de node-gyp. L’ignorer provoque des échecs de compilation cryptiques par la suite.
Méthode 2 : Chocolatey
Chocolatey est un gestionnaire de paquets Windows qui permet des installations scriptées et reproductibles — utile pour la mise en service des machines développeurs.
Ouvrez une Invite de commandes ou PowerShell avec élévation de privilèges (Administrateur) :
choco install nodejs-ltsVérifier :
node -v
npm -vMéthode 3 : nvm-windows
Notez que nvm pour Linux/macOS ne fonctionne pas sur Windows. L’équivalent Windows est nvm-windows, un projet distinct avec une interface similaire.
Téléchargez l’installateur depuis la page des versions GitHub de nvm-windows. Après l’installation :
nvm install lts
nvm use lts
node -vWindows Subsystem for Linux (WSL2) : Les développeurs effectuant un travail sérieux avec Node.js sur Windows devraient fortement envisager WSL2 avec Ubuntu. Dans WSL2, l’installation Linux de nvm fonctionne de manière identique à Linux natif, et l’expérience de développement est nettement plus cohérente avec les environnements de serveurs de production.
Comprendre LTS vs. Current : quelle version installer
Node.js suit un calendrier de publication prévisible qui affecte directement la version que vous devriez déployer.
| Type de version | Cadence | Durée de support | Cas d’utilisation |
|---|---|---|---|
| — | — | — | — |
| **LTS (Long Term Support)** | Majeurs pairs (18, 20, 22) | 30 mois au total (12 Actif + 18 Maintenance) | Applications de production, charges de travail d’entreprise |
| **Current** | Majeurs impairs (19, 21, 23) | 6 mois seulement | Tests de fonctionnalités, auteurs de bibliothèques |
| **Maintenance LTS** | Versions LTS vieillissantes | Correctifs de sécurité uniquement | Systèmes legacy en cours de migration |
Règle générale : Déployez toujours LTS en production. Utilisez Current uniquement dans des environnements de développement isolés lorsque vous devez tester la compatibilité avec les fonctionnalités Node.js à venir.
Maintenir Node.js à jour
Les versions obsolètes de Node.js exposent votre application à des vulnérabilités connues du moteur V8, à des configurations TLS dépréciées et à des incompatibilités de dépendances. Traitez les mises à niveau de Node.js comme une maintenance de sécurité, et non comme des améliorations optionnelles.
Avec nvm (toutes plateformes) :
nvm install --lts
nvm reinstall-packages <old-version>
nvm alias default nodeLa commande nvm reinstall-packages migre les paquets installés globalement depuis l’ancienne version vers la nouvelle — un détail que la plupart des guides omettent et qui fait gagner un temps considérable.
Avec NodeSource sur Debian/Ubuntu :
sudo apt-get update && sudo apt-get upgrade nodejsAvec Homebrew sur macOS :
brew update && brew upgrade nodeAvec Chocolatey sur Windows :
choco upgrade nodejs-ltsGérer les paquets npm globaux
Les paquets npm globaux installent des outils CLI accessibles à l’échelle du système. Gardez la liste des installations globales minimale — les outils spécifiques à un projet appartiennent à devDependencies, pas aux installations globales, pour garantir des builds reproductibles dans tous les environnements.
Installer un paquet global :
npm install -g yarn
npm install -g pm2
npm install -g typescriptLister tous les paquets installés globalement :
npm list -g --depth=0Supprimer un paquet global :
npm uninstall -g yarnPaquets globaux courants pertinents pour la production :
pm2— Gestionnaire de processus pour les applications Node.js ; gère le clustering, le redémarrage automatique et la gestion des logs sur les serveurs Linuxtypescript— Compilateur TypeScript (tsc)nodemon— Observateur de fichiers de développement qui redémarre automatiquement le processus Node.js lors des modifications de codedotenv-cli— Charge les fichiers.envpour la configuration spécifique à l’environnement
nvm et paquets globaux : Lorsque vous changez de version Node.js avec nvm, les paquets globaux installés sous la version précédente ne sont pas automatiquement disponibles. Réinstallez-les ou utilisez nvm reinstall-packages <previous-version> pour les migrer.
Après l’installation : configurer npm pour les environnements de production
Une installation propre de Node.js nécessite quelques étapes de configuration supplémentaires avant d’être prête pour la production.
Définir le registre npm (optionnel, pour les registres privés ou les miroirs) :
npm config set registry https://registry.npmjs.org/Configurer le répertoire de cache npm (pertinent sur les serveurs avec un espace /tmp limité) :
npm config set cache /path/to/custom/cacheDésactiver la génération de package-lock.json (uniquement si votre équipe utilise yarn.lock exclusivement) :
npm config set package-lock falseDéfinir la variable d’environnement Node.js pour la production :
export NODE_ENV=productionAjoutez ceci à /etc/environment ou au fichier d’unité systemd de votre application sur les serveurs Linux pour garantir qu’Express.js, Next.js et autres frameworks activent leurs optimisations de production.
Si vous exécutez des applications Node.js sur un Serveur Dédié, configurez pm2 comme service systemd pour garantir le redémarrage de votre application après les reboots :
pm2 start app.js --name "my-app"
pm2 startup systemd
pm2 saveExécuter Node.js derrière un proxy inverse
Sur les serveurs de production, les applications Node.js ne doivent jamais être exposées directement sur le port 80 ou 443. Utilisez Nginx ou Apache comme proxy inverse, et terminez TLS au niveau de la couche proxy. C’est une décision d’architecture critique que l’étape d’installation permet directement.
Une configuration Nginx minimale pour une application Node.js fonctionnant sur le port 3000 :
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Associez ceci à un certificat TLS valide. Les Certificats SSL sont essentiels pour toute application Node.js gérant des données utilisateur, des jetons d’authentification ou des requêtes API — ce n’est pas optionnel. Let’s Encrypt via certbot est l’option gratuite standard ; les certificats commerciaux sont appropriés pour les déploiements d’entreprise.
Node.js sur hébergement mutualisé vs. VPS
Une question qui revient fréquemment : Node.js peut-il fonctionner sur un hébergement mutualisé ?
Les environnements d’Hébergement Web Mutualisé standard ne prennent pas en charge Node.js de manière significative. L’hébergement mutualisé est conçu pour les applications PHP et ne fournit pas d’accès shell, de gestion de processus persistants, ni la possibilité de se lier à des ports personnalisés — tout ce que Node.js requiert.
Pour tout déploiement Node.js réel, vous avez besoin au minimum d’un plan VPS Hosting. Un VPS vous donne un accès root, un gestionnaire de processus persistant comme pm2, et un contrôle total sur la version Node.js et la configuration de l’environnement d’exécution. Si vous avez besoin d’un panneau de contrôle géré aux côtés de votre environnement Node.js, un VPS avec cPanel offre un juste milieu entre l’accès VPS brut et l’hébergement géré.
Pour les charges de travail Node.js intensives en calcul — inférence d’apprentissage automatique, transcodage vidéo ou traitement de données à grande échelle — un VPS standard peut ne pas être suffisant. L’Hébergement GPU fournit l’accélération matérielle que les processus Node.js liés au CPU ne peuvent pas atteindre seuls.
Liste de contrôle des points clés techniques
Utilisez ceci comme liste de vérification avant déploiement :
- Sélection de version : Confirmez que vous exécutez une version LTS active (
node -vdoit retourner un numéro majeur pair dans la fenêtre de support active) - La méthode d’installation correspond à l’environnement :
nvmsur les machines développeurs ; NodeSource ou conteneur sur les serveurs - La version npm est à jour : Exécutez
npm install -g npm@latestaprès l’installation de Node.js — le npm inclus n’est souvent pas le plus récent NODE_ENVest défini : Vérifiez queecho $NODE_ENVretourneproductionsur tous les environnements serveur- Le gestionnaire de processus est configuré :
pm2 listmontre votre application en cours d’exécution etpm2 startupa été exécuté - Le proxy inverse est en place : Node.js n’est pas directement exposé sur le port 80/443
- TLS est terminé au niveau du proxy : Un certificat valide est installé et les redirections HTTPS sont appliquées
- La liste des paquets globaux est minimale :
npm list -g --depth=0n’affiche que les outils CLI essentiels .nvmrcest commis dans le dépôt : Garantit que tous les membres de l’équipe et les pipelines CI utilisent la même version de Node.js- Les mises à jour de sécurité sont automatisées : Un cron job ou un pipeline CI vérifie mensuellement les nouveaux correctifs LTS
FAQ
Quelle est la différence entre Node.js LTS et Current, et lequel dois-je installer ?
Les versions LTS (Long Term Support) sont des majeurs pairs (18, 20, 22) supportés pendant 30 mois avec des correctifs de sécurité et de stabilité. Les versions Current sont des majeurs impairs supportés pendant seulement 6 mois. Installez LTS pour tout travail de production ou de développement en équipe. Utilisez Current uniquement pour une expérimentation de fonctionnalités à court terme.
Pourquoi nvm affiche-t-il « command not found » après l’installation ?
L’installateur nvm ajoute du code d’initialisation au fichier RC de votre shell (~/.bashrc ou ~/.zshrc), mais la session de terminal actuelle ne l’a pas rechargé. Exécutez source ~/.bashrc (ou source ~/.zshrc pour Zsh), ou ouvrez une nouvelle fenêtre de terminal. Si le problème persiste, vérifiez manuellement que le bloc d’initialisation nvm existe à la fin de votre fichier RC.
Puis-je exécuter plusieurs versions de Node.js simultanément sur le même serveur ?
Oui, avec nvm. Chaque version est installée dans son propre répertoire sous ~/.nvm/versions/. Vous pouvez changer la version active par session shell avec nvm use <version>, ou par projet en utilisant un fichier .nvmrc. Différents processus exécutant différentes versions de Node.js peuvent coexister sans conflit.
Pourquoi ne devrais-je pas installer Node.js depuis le dépôt apt par défaut d’Ubuntu/Debian ?
Les dépôts Ubuntu et Debian par défaut livrent des versions de Node.js qui ont souvent deux à quatre versions majeures de retard sur le LTS actuel. Par exemple, Ubuntu 22.04 livre Node.js 12 par défaut — une version qui a atteint sa fin de vie en 2022. Utilisez toujours le dépôt NodeSource ou nvm pour obtenir une version actuelle et supportée.
Comment désinstaller complètement Node.js et repartir de zéro ?
La méthode dépend de la façon dont il a été installé. Pour les installations NodeSource : sudo apt-get remove nodejs && sudo apt-get autoremove. Pour nvm : nvm uninstall <version> pour des versions spécifiques, ou supprimez entièrement le répertoire ~/.nvm et retirez les lignes d’initialisation de votre fichier RC. Pour Homebrew : brew uninstall node. Pour l’installateur officiel sur macOS/Windows, utilisez le désinstallateur d’application standard du système et supprimez manuellement les répertoires résiduels sous /usr/local/lib/node_modules ou %AppData%npm.
