OKTous les services sont opérationnels
InfrawireLogo InfrawireDocumentation

Installer Node.js et npm sur un VPS Linux

Ce guide explique comment installer Node.js (runtime JavaScript) et npm (gestionnaire de paquets) sur un VPS Ubuntu ou Debian, afin de faire tourner des applications web (Express, NestJS, outils de build, etc.).

Prérequis

  • VPS Linux avec accès sudo ou root
  • Ubuntu 20.04+ ou Debian 11+ (64 bits)
  • Connexion SSH fonctionnelle

Recommandation

Pour des builds fréquents (npm install, compilations), privilégiez un VPS avec disque rapide, par exemple nos VPS NVMe.

Méthode recommandée : NodeSource (LTS)

1. Mettre à jour le système

Bash
sudo apt update && sudo apt upgrade -y

2. Installer les prérequis

Bash
sudo apt install -y ca-certificates curl gnupg

3. Ajouter la clé et le dépôt NodeSource (exemple : Node.js 22.x LTS)

Remplacez 22.x par la branche LTS souhaitée en consultant la documentation NodeSource.

Bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

4. Installer Node.js

Bash
sudo apt install -y nodejs

5. Vérifier l’installation

Bash
node -v npm -v

Alternative rapide : paquets Debian/Ubuntu

Bash
sudo apt install -y nodejs npm

Les versions peuvent être plus anciennes qu’avec NodeSource. Pour du production, préférez généralement la méthode NodeSource ou un gestionnaire de versions (nvm).

Mise à jour de npm (optionnel)

Bash
sudo npm install -g npm@latest

Bonnes pratiques

  • Ne lancez pas npm en root sur vos projets : créez un utilisateur dédié ou utilisez sudo -u monuser.
  • Pour la production, envisagez PM2 ou un service systemd pour redémarrer l’app au boot.
  • Ouvrez uniquement les ports nécessaires (pare-feu, reverse proxy Nginx devant l’app).

Dépannage

  • Permission denied sur npm install -g : configurez un répertoire global pour votre utilisateur ou utilisez nvm.
  • Command not found après installation : déconnectez-vous et reconnectez-vous en SSH, ou ouvrez un nouveau shell.

Pour aller plus loin : sécuriser SSH et Nginx + Certbot pour exposer votre application en HTTPS.