Comment activer et utiliser pnpm dans ServBay
pnpm est un gestionnaire de paquets Node.js moderne et performant, conçu pour résoudre les limitations des gestionnaires traditionnels comme npm et yarn lors de la gestion des dépendances. En utilisant un système de fichiers à adressage par contenu avec des liens physiques (hard links) et des liens symboliques, pnpm réduit considérablement l’espace disque utilisé tout en accélérant significativement la vitesse des installations. Pour les développeurs qui utilisent ServBay pour leurs projets Node.js, maîtriser pnpm permet de gérer les dépendances de manière bien plus efficace.
Les paquets Node.js intégrés à ServBay incluent corepack, un outil expérimental officiel de Node.js permettant de gérer et d’activer des versions spécifiques de gestionnaires de paquets (comme npm, yarn ou pnpm) pour chaque projet. Après l’installation de Node.js via ServBay, vous pouvez activer pnpm en utilisant une simple commande avec corepack.
Activer pnpm
Si la commande pnpm n’est pas immédiatement disponible, c’est généralement parce que vous ne l’avez pas encore activée via corepack. Suivez les étapes ci-dessous pour l’activer :
Ouvrez votre application Terminal.
Saisissez la commande suivante pour activer
pnpmviacorepack:bashcorepack enable pnpm1Si la commande réussit, il n’y aura habituellement aucun message de retour. Cela signifie que
corepacka correctement ajouté la commandepnpmà votre système.Vérifiez que
pnpmest bien activé et consultez son numéro de version :bashpnpm -v1Cette commande devrait afficher la version actuelle de
pnpm, par exemple :bash9.1.01Si la version s’affiche dans le terminal, cela signifie que
pnpmest prêt à être utilisé.
Message de téléchargement de corepack
Lorsque vous utilisez la commande pnpm, il se peut que vous voyiez un message similaire au suivant. Cela signifie que corepack est en train de télécharger ou de mettre à jour la version requise de pnpm. Il s’agit d’un comportement normal de corepack pour garantir que vous utilisez la version adaptée à votre projet ou la plus récente.
bash
$ pnpm -v
! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.0.6.tgz
? Do you want to continue? [Y/n]1
2
3
2
3
Tapez Y puis appuyez sur Entrée pour permettre à corepack de télécharger et de poursuivre l’exécution de la commande pnpm. Une fois le téléchargement terminé, la commande s’exécutera normalement et affichera la version (ou le résultat correspondant à la commande entrée).
Atouts majeurs de pnpm et exemples d’utilisation
pnpm a été conçu pour optimiser la gestion des dépendances. Tous les paquets sont centralisés dans un stockage global adressé par contenu, chaque version de paquet étant stockée une seule fois. Lorsqu’un projet requiert une dépendance, pnpm crée un lien physique depuis ce stockage global, et structure le dossier node_modules à l’aide de liens symboliques pour obtenir une structure plate. À la différence de npm et ses problèmes de dépendances “fantômes”, pnpm restreint strictement l’accès : seuls les modules explicitement déclarés comme dépendances directes sont accessibles.
Cette approche offre plusieurs avantages notables :
- Économie d’espace disque : Les différents projets partagent les mêmes fichiers de dépendance, évitant la duplication inutile.
- Installation ultra-rapide : Le plus souvent, les fichiers nécessaires sont déjà présents dans le stockage global, il suffit donc de créer des liens — bien plus rapide que la copie ou le téléchargement.
- Structure de dépendances stricte : Cela prévient les problèmes de “phantom dependencies” et rend la gestion des dépendances plus claire et maîtrisée.
Voici quelques exemples de commandes courantes de pnpm dans l’environnement ServBay :
Supposons que votre projet soit situé dans un sous-dossier du répertoire racine des sites ServBay, par exemple /Applications/ServBay/www/my-servbay-app.
Installer les dépendances du projet
Après être entré dans le répertoire de votre projet, utilisez la commande pnpm install pour installer toutes les dépendances définies dans votre package.json :
bash
cd /Applications/ServBay (macOS) ou C:\ServBay (Windows)/www/my-servbay-app
pnpm install1
2
2
pnpm vérifiera le stockage global, téléchargera les éventuels paquets manquants et créera des liens dans le dossier node_modules de votre projet.
Ajouter une nouvelle dépendance
Pour ajouter une nouvelle dépendance au projet, par exemple lodash :
bash
pnpm add lodash1
Cette commande téléchargera lodash (si nécessaire), créera le lien adéquat et mettra automatiquement à jour les fichiers package.json et pnpm-lock.yaml.
Supprimer une dépendance
Pour supprimer une dépendance dont vous n’avez plus besoin, par exemple lodash :
bash
pnpm remove lodash1
Cela retirera lodash des dépendances du projet et actualisera les fichiers package.json et pnpm-lock.yaml.
Exécuter des scripts
pnpm permet également d’exécuter les scripts définis dans la section scripts de votre package.json :
bash
pnpm run dev
# Ou en version abrégée
pnpm dev1
2
3
2
3
Exécuter des commandes de paquets (pnpx)
De façon similaire à npx, pnpm propose pnpx (ou directement pnpm exec) pour exécuter des commandes installées localement dans le dossier node_modules/.bin de votre projet, sans installer quoi que ce soit globalement :
bash
pnpm exec webpack --version
# Ou, en version abrégée :
pnpx webpack --version1
2
3
2
3
Conclusion
Grâce à la commande corepack enable pnpm, vous pouvez activer très simplement pnpm dans l’environnement Node.js de ServBay. En tirant parti de la gestion optimisée des dépendances qu’offre pnpm, vous accélérerez nettement l’installation des modules nécessaires à vos projets Node.js et gagnerez en efficacité, tout en économisant de l’espace disque. Pour les utilisateurs de ServBay qui recherchent une expérience de développement fluide et performante, pnpm s’impose comme un outil incontournable.
