Qu’est-ce que npm (Node Package Manager) ?
npm (Node Package Manager) est le gestionnaire de paquets officiel de Node.js. Il permet de télécharger et d’installer des paquets (encore appelés modules) pour pouvoir les utiliser pour un projet ou au contraire de partager des paquets pour que d’autres utilisateurs puissent les utiliser.
Un “package” ou “paquet” ou encore “module” est un bloc de code cohérent composé de différentes fonctions qui permet d’effectuer une tâche. Utiliser des paquets permet de ne pas avoir à réinventer la roue et de ne pas tout coder nous même : si d’autres développeurs ont déjà développé une fonctionnalité qui nous intéresse, pourquoi ne pas la réutiliser ?
A la base, npm devait uniquement servir de package manager pour Node. Cependant, ce gestionnaire de paquet étant Open Source et ayant été très rapidement adopté par une large communauté de développeurs, il a évolué pour devenir un package manager beaucoup plus global pour l’ensemble du JavaScript et de son environnement et dépassant ainsi le cadre de Node.
Npm est aujourd’hui le plus grand registre de paquets au monde avec plus d’un million de paquets disponibles.
En tant que développeurs, nous allons donc très souvent utiliser npm pour installer des paquets qui nous intéressent comme React, Express, Moment, Request, Lodash, Async, Chalk, Sass ou encore Debug.
Comment télécharger et installer npm ?
La façon la plus simple d’installer npm est d’installer Node.js puisque npm est livré avec. Pour cela, rendez-vous sur le site nodejs.org et téléchargez la dernière version stable (LTS) de Node.
Pour vérifier que l’installation s’est bien passée, vous pouvez ouvrir votre Terminal ou Invite de commande et taper node -v
qui devrait vous renvoyer la version de Node.js installée et npm -v
qui devrait vous renvoyer la version de npm installée.
Pour vérifier que vous avez bien la dernière version de npm installée, vous pouvez taper la commande npm install npm -g
.
Comment installer un nouveau paquet ?
Une fois npm installé, vous pouvez installer n’importe quel package disponible dans le registre ! Il existe deux façons d’installer un paquet avec npm : soit localement, soit globalement.
Pour installer un paquet localement, commencez par cd
vers le répertoire de votre projet puis utilisez la commande npm install nom_du_paquet
en remplaçant évidemment “nom_du_paquet” par le nom du paquet que vous souhaitez installer.
Si votre projet est important ou is vous travaillez à plusieurs sur un projet, vous voudrez certainement créer un fichier package.json. Ce fichier va détailler les différents paquets installés pour un projet. Il suffira ensuite de taper npm install
pour installer toutes les dépendances (paquets) listés dans ce fichier.
Pour créer ce fichier package.json, nous pouvons utiliser la commande npm init
. Un assistant s’ouvre pour nous aider à créer notre fichier. Nous allons devoir indiquer :
- “Name » : Le nom du projet. Laisser vide pour utiliser le nom par défaut correspondant au nom du répertoire du projet.
- « Version » : La numéro de version du projet. 1.0.0 par défaut.
- « Description » : Description de votre projet qui sera utilisée dans la moteur de recherche de npm si vous partagez le projet.
Pour ajouter ensuite des paquets au fichier package.json, il suffit d’utiliser la commande npm install nom_du_paquet --save
.
Pour installer un paquet globalement, il suffit d’utiliser la commande npm install
avec l’option -g
. Pour installer Sass globalement, par exemple, nous taperons npm install -g sass
.
Comment savoir si un paquet est à jour, mettre à jour un paquet ou le supprimer ?
Pour obtenir la liste des paquets installés qui ne sont pas à jour (paquets qui disposent d’une version plus récente que celle installée), nous pouvons taper la commande npm outdated
pour les paquets locaux ou npm outdated -g
pour les paquets globaux.
Cette commande renvoie la liste complète des dépendances non à jour, y compris les dépendances de dépendances (cas où vos paquets utilisent eux mêmes d’autres paquets). Si souhaitez uniquement obtenir la liste des paquets non à jour que vous avez installés, vous pouvez ajouter un paramètre —depth=0
à la commande.
Pour mettre à jour les paquets non à jour, nous allons utiliser la commande npm update
pour les paquets installés localement ou npm update -g
pour les paquets installés globalement.
Enfin, pour supprimer un paquet, nous pouvons utiliser la commande npm uninstall nom_du_paquet
.
Note : Le site npmjs.com (site officiel de npm) permet également de découvrir des packages, configurer des profils et gérer d’autres aspects de votre expérience npm.
Bonjour, je vous suis depuis quelques années, j’ai appris beaucoup. MERCI !
Concernant npm, comment peut-on avoir la liste de TOUS les packages installés (local / global) ? Je n’ai pas trouvé de réponse sur les internets pour le moment.
Je viens de trouver comment obtenir la liste des packages installés.
En local: npm ls
En global: npm ls -g
La solution était évidement dans la documentation officielle (https://docs.npmjs.com/cli/ls.html).