pnpm ist ein schneller, platzsparender Paketmanager. Es verwendet ein inhaltsadressierbares Dateisystem, um alle Dateien für alle Modulverzeichnisse auf der Festplatte zu speichern. Wenn Sie npm oder Yarn verwenden und 100 Projekte haben, die lodash verwenden, haben Sie 100 Kopien von lodash auf der Festplatte, während lodash mit pnpm in einem inhaltsadressierbaren Speicher gespeichert wird.
pnpm 8.0 ist offiziell veröffentlicht, die Updates sind wie folgt:
große Änderungen
- Ende der Unterstützung für Node.js 14
- Konfigurationsaktualisierung
auto-install-peers
: standardmäßig aktiviertdedupe-peer-dependents
: Standardmäßig aktiviert.resolve-peers-from-workspace-root
: Standardmäßig aktiviert.save-workspace-protocol
: Die Standardeinstellung istrolling
.resolution-mode
: Die Standardeinstellung istlowest-direct
.publishConfig.linkDirectory
: Standardmäßig aktiviert.
- Änderung des Lockfiles
- Lockfile v6 wird übernommen. Dieses neue Format verbessert die Lesbarkeit von Lockfiles, indem es den Hash aus der Bundle-ID entfernt. Außerdem werden die Felder im
importers
Abschnitt . Neuepnpm-lock.yaml
Dateien sind widerstandsfähiger gegen Git-Merge-Konflikte - Das
pnpm-lock.yaml
Registrierungsfeldresolution
wird aus dem darin enthaltenen Objekt entfernt. - Auch für Projekte ohne Abhängigkeiten wird ein Lockfile generiert.
- Lockfile v6 wird übernommen. Dieses neue Format verbessert die Lesbarkeit von Lockfiles, indem es den Hash aus der Bundle-ID entfernt. Außerdem werden die Felder im
- andere Änderungen
package.json
Wenn esfiles
ein Feld enthält, werden nur die darin aufgeführten Dateien bereitgestellt. Die gleiche Logik gilt für das Einfügen von Paketen. Dieses Verhalten kann geändert werden, indem[deploy-all-files](<https://pnpm.io/8.x/npmrc#deploy-all-files>)
die eingestellt wirdtrue
- Direkte Abhängigkeiten werden entfernt. Wenn eine Abhängigkeit sowohl im Projekt als auch im Arbeitsbereichsstamm vorhanden ist, wird sie nur mit dem Arbeitsbereichsstamm verknüpft.
- pnpm v7-Unterstützung
- pnpm v7 wird danach wahrscheinlich keine neuen Funktionen mehr bekommen, aber es wird noch einige Monate lang Bugfixes und mindestens ein Jahr lang Bugfixes erhalten.
Weitere Einzelheiten finden Sie unter: https://github.com/pnpm/pnpm/releases/tag/v8.0.0