pnpm und Yarn im Vergleich zu npm
Kurz: pnpm und Yarn sind Alternativen zu npm als Paketmanager für JavaScript. pnpm spart vor allem Platz und Zeit, Yarn bietet eigene Workspaces und Plug’n’Play.
Genauer: Alle drei lesen package.json, installieren aus derselben Registry und erzeugen eine Sperrdatei, unterscheiden sich aber im Ordneraufbau.
Im Detail
- npm: Im Lieferumfang von Node.js. Legt Pakete flach in
node_modules, jedes Projekt bekommt eigene Kopien. - pnpm: Speichert jedes Paket nur einmal global und verknüpft es per harten Links. Das spart Festplatte, beschleunigt Installationen und verhindert „Phantom-Abhängigkeiten”, also Importe von Paketen, die man gar nicht angegeben hat.
- Yarn: Klassisch (v1) ähnlich npm, modern (Berry) mit Plug’n’Play, das
node_modulesersetzt und Pakete aus Archiven lädt. - Sperrdateien:
package-lock.json,pnpm-lock.yaml,yarn.lock. Siehe Lockfiles. - Monorepos: Alle drei unterstützen Workspaces. pnpm ist dafür besonders beliebt.
- Wahl: Bei bestehenden Projekten beim vorhandenen Werkzeug bleiben, bei neuen ist pnpm eine gute Wahl.
Siehe auch: npm audit