Installer Node.js et npm sur Debian

Publié le Mis à jour le 6 min de lecture

Node.js 10 et 12 ne sont plus maintenus depuis longtemps. Voici comment installer la version LTS actuelle avec npm sur Debian, via NodeSource avec la clé de signature dans /etc/apt/keyrings.

Node.js est l'environnement d'exécution derrière d'innombrables applications web, API et bots Discord. Sur votre propre serveur, son installation prend quelques minutes. Dans ce guide, vous mettez en place Node.js et npm sur Debian 13, Debian 12 et Debian 11. Sur Ubuntu, les mêmes commandes fonctionnent.

Le choix de la bonne version est déterminant. Les guides autrefois très répandus pour Node.js 10 et Node.js 12 sont dépassés : ces deux versions ne reçoivent plus de mises à jour de sécurité depuis des années et ne devraient plus tourner sur aucun serveur.

Quelle version de Node.js faut-il installer ?

Node.js publie une nouvelle version majeure deux fois par an. Seuls les numéros de version pairs deviennent une branche LTS (Long Term Support), maintenue ensuite pendant environ trois ans. Les versions impaires sont des branches de développement à durée de vie courte, qui ne sont pas prévues pour des systèmes en production.

  • Node.js 24 LTS (« Krypton ») : la recommandation actuelle pour les nouveaux projets et les serveurs en production.
  • Node.js 22 LTS : toujours très répandu, un choix pertinent lorsqu'une application exige explicitement cette version.
  • Node.js 10 et 12 : sans support depuis 2021 et 2022 respectivement. À ne plus utiliser.

En cas de doute, vérifiez les indications de votre application. Beaucoup de projets déclarent la version requise dans le champ « engines » de leur fichier package.json.

Prérequis

  • Un accès root à votre vServer ou à votre serveur root via SSH.
  • Un Debian à jour. Commencez par mettre le système à niveau :
apt update && apt upgrade -y

Pour récupérer le dépôt, il vous faut en plus quelques outils standards :

apt install -y ca-certificates curl gnupg

Variante 1 : Node.js depuis les dépôts Debian

La voie la plus simple passe par les dépôts fournis avec la distribution :

apt install nodejs npm -y

L'avantage : les mises à jour arrivent automatiquement avec le reste des mises à jour système. L'inconvénient : les paquets Debian ont le plus souvent une à deux versions majeures de retard sur la branche LTS actuelle. Pour savoir quelle version est disponible chez vous, avant même l'installation :

apt-cache policy nodejs

En juillet 2026, les dépôts fournissent : Debian 13 « Trixie » Node.js 20.19, Debian 12 « Bookworm » Node.js 18.20, Ubuntu 24.04 Node.js 18.19, Ubuntu 22.04 Node.js 12.22. Si cela vous suffit, vous avez terminé. S'il vous faut une branche LTS actuelle, passez à la variante 2.

Variante 2 : installer Node.js 24 LTS via NodeSource

NodeSource met à disposition des dépôts officiels pour Debian et Ubuntu. Vous obtenez ainsi exactement la version majeure souhaitée, tout en continuant à recevoir les mises à jour via apt.

Enregistrer la clé de signature

L'ancienne méthode avec apt-key a disparu. Depuis Debian 11, les clés de signature ont leur propre répertoire sous /etc/apt/keyrings/ :

mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

Déclarer le dépôt et installer

Déclarez ensuite le dépôt. La variable définit la version majeure souhaitée, ici 24 :

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list

Pour Node.js 22, indiquez plutôt NODE_MAJOR=22. Vient ensuite l'installation proprement dite :

apt update
apt install nodejs -y

npm est déjà inclus dans le paquet NodeSource. N'installez pas en plus le paquet Debian « npm » ici, vous provoqueriez un conflit de paquets.

La méthode rapide avec le script d'installation

NodeSource propose également un script qui regroupe les deux étapes ci-dessus :

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install nodejs -y

C'est pratique, mais vous exécutez avec les droits root un script téléchargé depuis internet. Sur des serveurs en production, la méthode par clé et dépôt reste le choix le plus propre.

Vérifier l'installation

Pour finir, interrogez les deux versions :

node --version
npm --version

Si node affiche une sortie qui commence par v22. et que npm renvoie un numéro de version, l'installation a réussi.

Si vous souhaitez utiliser yarn ou pnpm : les deux s'activent via Corepack, livré avec Node.js, aucune installation séparée n'est nécessaire :

corepack enable

Faire tourner plusieurs versions de Node.js en parallèle

Si vous hébergez sur un même serveur plusieurs applications aux exigences différentes, le Node Version Manager (nvm) vous sera utile. Il installe Node.js dans le répertoire de l'utilisateur, ce qui permet de faire cohabiter plusieurs versions et de basculer de l'une à l'autre selon le projet.

Une fois nvm installé (suivez pour cela la documentation du projet officiel), ces commandes suffisent :

nvm install 24
nvm use 24
nvm alias default 24

Important : nvm appartient toujours à un seul utilisateur. Les services système qui tournent sous un autre utilisateur ne trouveront pas cette installation de Node.js. Pour des services, l'installation par paquet reste la voie la plus fiable.

Passer à une version plus récente

Si un passage à une nouvelle branche LTS s'impose plus tard, il suffit de modifier le numéro de version dans le dépôt, puis de mettre à jour :

NODE_MAJOR=24
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
apt update && apt install nodejs -y

Testez votre application après un changement de version majeure. Les interfaces peuvent évoluer d'une version majeure à l'autre, et les anciens modules natifs doivent parfois être recompilés.

Erreurs fréquentes

  • « E: Unable to locate package nodejs » : après avoir déclaré le dépôt, apt update a été oublié.
  • Conflit de paquets entre nodejs et npm : vous avez installé le paquet Debian « npm » à côté du paquet NodeSource. Supprimez npm avec apt remove npm, Node.js apporte lui-même la version adaptée.
  • « NO_PUBKEY » ou « signatures couldn't be verified » : la clé de signature ne se trouve pas sous /etc/apt/keyrings/, ou la ligne du dépôt ne contient aucune référence signed-by correspondante.
  • Une ancienne version reste affichée : des restes d'une installation précédente traînent sur le système. Supprimez sous /etc/apt/sources.list.d/ les anciens fichiers qui pointent vers nodesource, puis réinstallez.
  • Un paquet npm échoue à la compilation : les outils de compilation manquent pour les modules natifs. Installez-les avec apt install -y build-essential python3.

Questions fréquentes

Quelle version de Node.js dois-je installer ?
Pour de nouveaux projets, la branche LTS actuelle, c'est-à-dire Node.js 22. Node.js 20 reste répandu et pertinent lorsqu'une application exige précisément cette version. Node.js 10 et 12 ne reçoivent plus de mises à jour de sécurité depuis des années.
Pourquoi la version du dépôt Debian est-elle si ancienne ?
Debian fige les versions des paquets au moment d'une publication et ne livre ensuite plus que des correctifs de sécurité. Si vous avez besoin d'une version majeure précise, la solution passe par le dépôt NodeSource.
Dois-je installer npm séparément ?
Non. Le paquet de NodeSource embarque déjà npm. N'installez pas en plus le paquet Debian npm, vous provoqueriez un conflit de paquets.
Comment passer plus tard à une version plus récente ?
Modifiez le numéro de version dans le dépôt sous /etc/apt/sources.list.d/, puis relancez apt update ainsi que apt install nodejs. Testez ensuite votre application, car les interfaces peuvent changer d'une version majeure à l'autre.
Pourquoi la clé de signature se trouve-t-elle sous /etc/apt/keyrings ?
L'ancienne commande apt-key a disparu. Depuis Debian 11, les clés de signature ont leur propre répertoire et sont associées au dépôt via l'option signed-by.

Node.js npm NodeSource Debian LTS nvm apt