Ajouter une bibliothèque à ton projet, c'est la première commande que tu vas répéter mille fois. Cette leçon couvre la syntaxe pour npm, pnpm, et bun, et la distinction entre dépendances normales et de développement.
La commande de base
Avec pnpm (recommandé) :
Avec bun :
Avec npm :
Ces trois commandes font la même chose : télécharger le paquet, l'ajouter dans dependencies du package.json, et mettre à jour le lockfile.
Dépendances de développement
Certains paquets ne sont utiles que pendant le développement : compilateurs TypeScript, linters, frameworks de test. Il ne faut pas les embarquer en production. Utilise le flag -D (ou --save-dev) :
Ces paquets atterrissent dans devDependencies du package.json au lieu de dependencies.
Comprendre le versionnage semver
Quand tu installes un paquet, le package.json enregistre la version avec un préfixe :
{
"dependencies": {
"react": "^18.3.0",
"lodash": "~4.17.21",
"some-lib": "2.1.0"
}
}^18.3.0(caret) : accepte toutes les versions18.x.xsupérieures ou égales à18.3.0. Les mises à jour de minor et patch sont autorisées.~4.17.21(tilde) : accepte4.17.xuniquement. Seules les mises à jour de patch sont autorisées.2.1.0(exact) : cette version précise, rien d'autre.
Le caret ^ est le défaut de pnpm, bun et npm. Il est adapté à la plupart des cas.
Installer des paquets globaux
Pour un outil CLI que tu veux utiliser partout (ex : vercel, http-server) :
Évite d'installer des outils globaux à la volée. Préfère pnpm dlx (ou npx) pour les commandes ponctuelles :
Réinstaller toutes les dépendances
Quand tu clones un projet existant, tu n'as pas de node_modules/. Lance simplement :
pnpm lit le lockfile et installe exactement les mêmes versions que l'auteur du projet.
Sémantique de versionnage npm