zurück zur Tech-Wiki
Tech-Wiki/Tools
P
pnpm
Schneller, festplattensparender Package-Manager mit Workspaces.
·pnpm·MIT
Übersicht
Was ist es?
pnpm ist der schnelle, festplattensparende Package-Manager — Content-Addressable-Store, Symlinks statt Kopien, strikte node_modules-Struktur. Default-Choice für moderne JS-Monorepos.
Quickstart
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version
pnpm install
pnpm add -D vitest
pnpm dev
Typische Patterns
pnpm-workspace.yamlfür Monorepos:packages: - 'apps/*' - 'packages/*'pnpm -r run buildführt Skript in allen Workspace-Packages aus.pnpm dlxstattnpx— keine globale Pollution.overridesinpackage.jsonfür transitive Dependency-Pinning.pnpm patch <pkg>für inline-Patches stattpatch-package.
Gotchas / Was oft schiefgeht
- Strikte
node_modules-Struktur → Tools, die auf Hoisted-Layouts angewiesen sind (Legacy), brechen.node-linker=hoistedals Fallback in.npmrc. pnpm-lock.yamlmuss committet werden — nicht ignorieren.- CI ohne Cache → Cold-Install langsam.
actions/cacheauf~/.local/share/pnpm/store. - Workspace-Protocol
workspace:*muss bei Publish ersetzt werden — pnpm macht das automatisch, andere Tools nicht. - Globale Bins:
pnpm setupeinmal ausführen, sonstpnpm i -gohne Effekt.
Wann nicht?
Bei Tools/Frameworks, die explizit npm/yarn voraussetzen und Workarounds zu teuer sind. Bei One-File-Skripten ohne Deps offensichtlich keine Package-Manager nötig.