npm — Guide pas à pas

npm (Node Package Manager) est l’outil standard pour installer des bibliothèques JavaScript, gérer des scripts et publier du code.NPM (Node Package Manager) est le gestionnaire de packages par défaut pour Node.js.
Il vous permet de :
Installer des packages
Télécharger et installer des bibliothèques JavaScript depuis le registry NPM
Gérer les versions
Contrôler les versions de vos dépendances et maintenir la compatibilité
Exécuter des scripts
Automatiser des tâches comme le build, les tests, et le déploiement
Partager du code

Publier vos propres packages pour la communauté

Plan

npm Package Manager React UI Library Express Web Framework Lodash Utilities Axios HTTP Client Vue Framework Node.js JavaScript Runtime 2M+ Packages 20B+ Downloads/week $ npm install $ npm init $ npm publish $ npm run dev NPM Registry registry.npmjs.org NPM Ecosystem JavaScript Package Management Made Simple

Installation

1) Installer Node.js (inclut npm)

Le plus simple : télécharger la version LTS depuis le site officiel. Sur Linux, utilisez plutôt nvm pour gérer plusieurs versions.

curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# puis rechargez votre shell et installez la LTS
nvm install --lts
node -v
npm -v

2) Configuration de base

# Quelques réglages utiles
npm config set fund false
npm config set audit true
# Voir la config
npm config list

Vérifiez toujours les versions : node -v, npm -v.

Commandes de base

CommandeRôle
npm init -yCrée un package.json rapide dans le dossier courant
npm install <pkg>Ajoute une dépendance (prod) et met à jour package.json + package-lock.json
npm install -D <pkg>Ajoute une dépendance de développement (ex : eslint, vite)
npm uninstall <pkg>Supprime une dépendance
npm run <script>Lance un script défini dans package.json
npm updateMet à jour vers les versions compatibles
npm outdatedListe les paquets dépassés
npm auditVérifie les vulnérabilités
npx <outil>Exécute un binaire sans l’installer globalement

Exemple : API Express minimale

mkdir api && cd api
npm init -y
npm i express
cat > index.js << 'EOF'
const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello npm!'));
app.listen(3000, () => console.log('http://localhost:3000'));
EOF
node index.js

Scripts npm

Ajoutez des raccourcis dans package.json :

{
  "name": "mon-projet",
  "version": "1.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview --port 4173",
    "lint": "eslint .",
    "test": "vitest"
  }
}

Exécutez : npm run dev, npm run build. Les scripts préfixés par pre/post s’enchaînent automatiquement (ex : prebuild).

Utiliser npx

npx permet d’exécuter un binaire depuis le registre sans installation globale.

# Générer un template
npx degit sveltejs/template mon-app
# Lancer une CLI ponctuelle
npx eslint --init

Gérer les dépendances

  • dependencies : nécessaires à l’exécution
  • devDependencies : pour le build/test
  • Plages de versions : ^1.2.3 (MAJ mineures), ~1.2.3 (patch), exact 1.2.3

Mettre à jour proprement

# Voir ce qui est dépassé
npm outdated
# Mettre à jour dans les bornes
npm update
# Audit sécurité
npm audit
npm audit fix
Fichiers clés

Global vs local

Workspaces (monorepo)

Les workspaces permettent de gérer plusieurs paquets dans un même dépôt.

{
  "name": "monorepo",
  "private": true,
  "workspaces": [
    "packages/*"
  ]
}
# Exemples de commandes
npm install                # installe toutes les deps
npm run build -w packages/ui   # lance un script dans un workspace
npm run test -ws               # lance dans tous les workspaces

Publier un package

  1. Créez un compte sur npmjs.com.
  2. Connectez-vous : npm login
  3. Complétez package.json : name, version, description, files, main/exports, type (module/commonjs), license.
  4. Publiez : npm publish (ou npm publish --access public pour un scope).

Attention : ne publiez pas de secrets (tokens, .env). Utilisez .npmignore ou le champ files.

Bonnes pratiques & dépannage

  • Commitez package-lock.json dans vos dépôts.
  • Utilisez npm ci en CI : installation rapide et reproductible.
  • Cache : npm cache verify / npm cache clean --force.
  • Proxies/entreprise : configurez proxy/https-proxy dans .npmrc.
  • ESM vs CJS : définissez "type": "module" (sinon CommonJS).
  • Sécurité : lancez régulièrement npm audit. Évaluez l’impact des corrections majeures avant d’upgrader hors bornes.
Cheat‑sheet express