Node.js

Node.js est un logiciel permettant d'exécuter du JavaScript côté serveur, contrairement à ce qu'on a l'habitude de voir avec le JavaScript côté client (interprété par le navigateur Web).

L'avantage d'utiliser Node.js est que JavaScript permet l'exécution de tâches asynchrones, ce qui peut être pratique dans certaines situations (en particulier pour les applications Web).
Node.js permet de créer des applications serveur facilement grâce à des bibliothèques qu'il prend en charge via npm, son gestionnaire de dépendances.

L'écosystème JavaScript est un milieu en constante et rapide évolution. Attention à l'actualité des informations que vous trouvez à ce sujet. À la rédaction de ce message, Yarn se propose de remplacer npm, et Bun propose de remplacer à la fois Node.js, npm et Yarn.

Il existe de nombreuses manières d'installer Node.js. Ubuntu le propose dans ses dépôts officiels et recommande évidemment cette méthode. Mais certaines applications JavaScript requièrent des versions spécifiques de Node.js et/ou de npm, et APT (qu'il s'agisse de PPA ou des dépôts officiels d'Ubuntu) ne convient pas à l'utilisation de diverses versions spécifiques.

Il existe donc plusieurs autres méthodes d'installation, et en particulier des gestionnaires de versions qui permettent l'installation voire même l'usage de plusieurs versions de Node.js simultanément :

Il est aussi possible de profiter de l'environnement Docker pour installer les versions de Node.js, npm ou Yarn de son choix, en les isolant du système. Dans ce cadre on préfère généralement déployer plus directement et simplement les images des applications qui reposent sur Node.js elles-mêmes.

Depuis les dépôts officiels

Cette méthode n'est recommandée que si vous utilisez Node.js pour une application en particulier, compatible avec une version de Node.js parfois ancienne. Les versions d'Ubuntu étant maintenues plus longtemps que certaines versions de Node.js, il arrive régulièrement que la version proposée dans les dépôts officielles soit déjà abandonnée.

Si vous avez couramment besoin de Node.js ou souhaitez utiliser une version récente, utilisez de préférence un gestionnaire de version, tel que n ou nvm.

Installer Node.js sous Ubuntu est simple, il suffit d'installer les paquets nodejs npm. En revanche la version installée de cette manière peut être ancienne et même déjà abandonnée (voir ci-dessus).

Résumé en ligne de commande

Le résumé, à saisir dans un terminal, utilise ici la commande apt :

sudo apt update
sudo apt install nodejs npm

Si vous souhaitez compiler des projets avec Node.js il vous faudra installer nodejs-dev. Notez que vous n'avez pas besoin de ce paquet pour développer des projets en JavaScript, il est utile en revanche si vous comptez développer des modules pour Node.js.

Depuis un PPA (dépôts "nodesource")

Cette méthode n'offre pas la souplesse ni la facilité d'utilisation d'un gestionnaire de version dédié, tel que n ou nvm. En outre elle peut complexifier et rendre imprévisibles les mises à jour majeures du système.

Chris Lea et NodeSource se sont associés pour maintenir un PPA avec des versions stables de Node.js, souvent plus récentes que celles des dépôts officiels.

Chaque version de Node.js possède un script d'installation qui ajoute le dépôt correspondant au gestionnaire de paquet. On les trouve ici : https://github.com/nodesource/distributions

Pour installer Node.js 24.x (LTS active)

C'est la dernière version stable recommandée pour vos applications en production.

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
Pour installer des paquets supplémentaires avec npm, vous aurez peut-être besoin d'installer build-essential.

Au moyen du gestionnaire de versions nvm

nvm (Node Version Manager), permet de gérer et utiliser très facilement différentes versions de npm et node.

nvm rend disponible les paquets installés globalement sous des versions spécifiques de Node.js et npm exclusivement sous ces versions, séparées des autres versions de Node.js et npm. On est sûr d'avoir chaque outil compatible avec sa version de Node.js, mais il faut réinstaller les outils dont on a besoin pour chaque nouvelle version.
À ce titre le gestionnaire n est plus souple et moins contraignant, mais éventuellement aussi moins fiable (tout est disponible partout).

Si besoin, installer tout d'abord cURL :

sudo apt install curl 

puis nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Ce numéro de version est amené à changer, vérifier la commande exacte sur le dépôt nvm ou la page download de la doc officielle de node.

Pour pouvoir utiliser immédiatement la commande nvm :

source ~/.bashrc

nvm est installé !

Pour lister les versions disponibles :

nvm ls

Pour utiliser la version v16.20.2 en particulier de Node.js :

nvm use 16

Au moyen du gestionnaire de versions n

n, une fois installé, permet l'installation simplifié des différentes versions de Node.js.

Si besoin, installer tout d'abord cURL :

sudo apt install curl 

puis n :

sudo curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n

Puis affecter les permissions en écriture à n :

sudo chmod +x /usr/local/bin/n

et enfin, installer Node.js :

sudo n stable

Voici un exemple d'application JavaScript que pourrait exécuter Node.js :

app.js
setTimeout(function() {
console.log('Coucou'); // écrit un message dans la console au bout de deux secondes
}, 2000);
console.log('toi'); // écrit un message dans la console

Pour exécuter cette application, il vous suffit de saisir dans un terminal la commande suivante :

node app.js

Bien entendu une telle application n'a aucun intérêt, il s'agit juste montrer rapidement comment cela fonctionne.
L'idée serait plutôt de monter un serveur Web dont voici un exemple :

app.js
var http = require('http');
var port = 8080;
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Salut tout le monde !');
res.end();
}).listen(port);
console.log("Serveur tourne sur http://localhost:"+port);

Pour comprendre ce code vous devriez jeter un coup d'œil à la documentation officielle.

Bien entendu Node.js n'a pas uniquement vocation à créer de petits serveurs comme celui-ci. Mais pour aller plus loin il va falloir utiliser des modules.

Ajouter un module à Node.js est extrêmement simple. Depuis un terminal entrez la commande suivante :

npm install express

Express.js est un module qui vous évitera de réécrire le code pour un serveur HTTP à chaque application.
N'hésitez pas à consulter sa documentation.

De la même façon vous pourrez installer beaucoup d'autres modules, distribués sur npmjs.com.

Pour supprimer cette application, il suffit de supprimer son paquet.


Contributeurs : nekdev, krodelabestiole.

  • nodejs.txt
  • Dernière modification: Le 21/01/2026, 12:27
  • par krodelabestiole