npm : installer et gérer les dépendances d'un projet JavaScript

npm est le gestionnaire de paquets livré avec Node. Il installe les dépendances, verrouille leurs versions et lance les scripts déclarés par le projet.
3 min de lecture
Believemy logo

Personne n'écrit à la main sa propre validation de formulaire, son propre client HTTP et son propre outil de test. On installe des paquets, et il faut bien quelque chose pour les aller chercher, les ranger et retrouver la même version le mois suivant.

C'est le rôle de npm, installé en même temps que Node.js et présent sur presque tous les projets.


Définition

npm est le gestionnaire de paquets de l'écosystème JavaScript. Il lit le fichier package.json, télécharge les dépendances demandées depuis un registre public, les dépose dans le dossier node_modules et note les versions exactes obtenues dans package-lock.json.

JAVASCRIPT
// package.json, après « npm install zod » puis « npm install -D vitest »
{
  "scripts": {
    "test": "vitest run"
  },
  "dependencies": {
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "vitest": "^2.0.5"
  }
}

La commande a modifié le fichier toute seule : c'est la façon normale d'ajouter une dépendance, plutôt que d'écrire la ligne à la main puis d'installer.


Les commandes du quotidien

CommandeCe qu'elle fait
npm installInstalle tout ce que le projet déclare
npm install paquetAjoute une dépendance et met à jour package.json
npm install -D paquetLa range dans devDependencies
npm ciRéinstalle à l'identique depuis le fichier de verrouillage
npm run buildLance le script nommé build
npm outdatedListe les dépendances en retard
Bon à savoir

Pendant un script npm, le dossier node_modules/.bin est ajouté au chemin des exécutables. C'est pourquoi "build": "vite build" fonctionne sans installer Vite sur toute la machine.


install ou ci, le choix qui compte

npm install réconcilie le projet avec ses dépendances : il accepte de monter de version dans les limites autorisées, et modifie le fichier de verrouillage au passage. C'est la commande de développement.

npm ci fait l'inverse : il supprime node_modules, réinstalle exactement ce que le verrou décrit et refuse de démarrer si le verrou et package.json se contredisent. C'est la commande d'intégration continue et de déploiement, celle qui rend une installation reproductible.


Questions fréquentes

Question

Faut-il installer les paquets globalement ?

Le plus souvent non. Une installation locale garde chaque projet sur sa propre version, ce qui évite qu'une mise à jour globale casse un chantier ancien. Réservez l'option globale à un très petit nombre d'outils, et lancez le reste par script ou par npx.


Question

Que faire quand une installation part en erreur ?

Le réflexe qui règle la majorité des cas consiste à supprimer node_modules, puis à relancer npm install. Si l'erreur persiste, lisez la ligne qui mentionne un paquet précis plutôt que la pile complète, et vérifiez la version de Node attendue par ce paquet.


Question

npm, yarn ou pnpm ?

Les trois lisent le même package.json et le même registre, et un projet passe de l'un à l'autre sans réécrire son code. pnpm économise beaucoup d'espace disque en partageant les paquets entre projets, yarn a longtemps eu de l'avance sur la vitesse. npm reste le choix par défaut, puisqu'il arrive avec Node.

Termes connexes

Découvrez notre glossaire JavaScript

Tous les mots de JavaScript expliqués simplement : mots-clés, objets natifs, méthodes, erreurs et concepts. Définitions claires et exemples qui tournent, pour apprendre et pour se dépanner.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.