Concepts essentiels de npm
Ce qu'est un gestionnaire de paquets, le rôle de npm et le fichier package.json (dépendances, scripts, versions, lockfile).
📦 Un gestionnaire de paquets
Un gestionnaire de paquets automatise l'installation, la mise à jour et la suppression des bibliothèques d'un projet. npm (Node Package Manager) est celui de Node.js : il centralise les dépendances, gère les versions et exécute des scripts d'automatisation. Sans lui, on copierait les bibliothèques à la main et on perdrait la reproductibilité de l'environnement.
Erreur fréquente
package.json et la reproductibilité.📄 Le fichier package.json
C'est le point d'entrée du projet : il centralise son identité, ses dépendances et ses scripts.
{
"name": "mon-projet",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"test": "mocha"
},
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"nodemon": "^2.0.7"
}
}dependencies: paquets nécessaires à l'exécution en production (express). Ajoutés avecnpm install <pkg>.devDependencies: outils de développement uniquement (nodemon, tests, build). Ajoutés avecnpm install -D <pkg>.scripts: commandes nommées, lancées vianpm run <nom>(npm start,npm test). Ils remplacent les commandes longues et se partagent entre développeurs.
Le symbole ^ autorise les mises à jour mineures et correctives (^4.17.1 → toute version 4.x.x) ; ~ se limite aux correctives (~4.17.1 → 4.17.x).
npm install sans argument
npm install (sans argument) installe tout ce qui est listé dans package.json et génère node_modules. npm crée aussi package-lock.json, qui fige les versions exactes : il doit être versionné pour garantir des installations identiques sur chaque machine.
✅ À retenir
- npm n'est pas qu'un installeur : il structure et standardise le projet ;
package.jsonest la référence unique (métadonnées, dépendances, scripts) ;dependencies+devDependencies+scripts= workflows reproductibles ;package-lock.jsonassure la cohérence entre les machines.
npm
Terminez le quiz du chapitre pour le marquer comme complété.