Wichtige Änderungen in pnpm 11
- Node.js 22+ erforderlich: Ab sofort ist Node.js in Version 22 oder höher verpflichtend. Die Unterstützung für Node 18, 19, 20 und 21 wurde eingestellt. Für die Standalone-Datei ist außerdem glibc 2.27 oder höher erforderlich.
- Supply-Chain-Schutz standardmäßig aktiviert: Zur Verbesserung der Sicherheit wird der Standardwert von
minimumReleaseAge auf 1440 (1 Tag) gesetzt. (Neu veröffentlichte Pakete können also erst nach 24 Stunden installiert werden.) Außerdem ist blockExoticSubdeps standardmäßig auf true gesetzt.
allowBuilds eingeführt: Die bisher komplexen Build-bezogenen Einstellungen (onlyBuiltDependencies, onlyBuiltDependenciesFile, neverBuiltDependencies, ignoredBuiltDependencies, ignoreDepScripts) entfallen vollständig und werden zentral über allowBuilds verwaltet.
- Isolierte globale Installationen: Bei Installationen über
pnpm add -g wird jedes Paket in ein separates Verzeichnis mit eigener package.json, node_modules und eigenem Lockfile installiert. Dadurch werden Abhängigkeitskonflikte zwischen globalen Paketen vermieden.
- SQLite-basierter Store-Index (Store v11): Für die Indexverwaltung wird SQLite eingesetzt, um Syscalls zu reduzieren und die Installationsgeschwindigkeit deutlich zu verbessern.
- Nativer Publish-Workflow: Die Befehle
pnpm publish, login, logout, view, deprecate, unpublish, dist-tag und version sind nicht länger vom npm CLI abhängig, sondern funktionieren nativ in pnpm.
- Eingeschränkte Rolle von
.npmrc: .npmrc wird nun nur noch für Authentifizierung (auth) und Registry-Einstellungen verwendet. Alle anderen Konfigurationen müssen in pnpm-workspace.yaml oder die neue globale config.yaml verschoben werden; als Präfix für Umgebungsvariablen wird pnpm_config_* verwendet.
Noch keine Kommentare.