EMZETT.
Login

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_modules ersetzt 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