pnpm 12.0 ist da: Ein komplettes Rewrite in Rust, ohne Migration
pnpm 12.0 ist stabil und stellt ein komplettes Rewrite in Rust dar. Es ist bewusst keine Migration: Alle Befehle, Flags, Einstellungen und das Lockfile-Format von pnpm 11 bleiben erhalten. Die meisten Neuerungen betreffen die Leistung und Korrektheit: Git-Abhängigkeiten werden nun kanonisch aufgelöst, Lockfiles von zyklischen Abhängigkeiten sind deterministisch, und die Peer-Auflösung ist 2-3x schneller. Außerdem gibt es projektbewusste globale Bins, die Installation anderer Paketmanager, Registry-Revisionen und einen Proof-of-Concept für einen entfernten Side-Effects-Cache. Einige Funktionen sind auch in pnpm 11.25 verfügbar.
Die Lockfile wird damit zu einer reinen Funktion des Abhängigkeitsgraphen – neu angeordnete Importeure, neu angeordnete Abhängigkeiten und wiederholte Installationen erzeugen alle byte-identische Lockfiles, was vorher nicht möglich war.
- BlueGreenMagick
Es ist ein Rewrite von pnpm in Rust. Ihre Benchmarks[0] berichten, dass eine saubere Installation mit Lockfile etwa 3x schneller ist (7s -> 2,2s) und eine No-op-Installation etwa 29x schneller (517ms -> 18ms). [0]: https://pnpm.io/benchmarks
- 1matin
Wenn du in einem Text viele lange Gedankenstriche (—) siehst, ist die Wahrscheinlichkeit hoch, dass Claude ihn geschrieben hat.
- deanc
Ich bin neugierig, da es nicht erwähnt wird: Gibt es im Rahmen dieses Rewrites irgendwelche Leistungsverbesserungen?
- norman784
Ich bin zu dem Schluss gekommen, dass Langweiliges gut genug ist. Für mich ist NPM das beste Werkzeug. Es ist nicht so schnell, aber die Installationsgeschwindigkeit ist nicht so schlecht, wenn man bedenkt, wie oft ich von Grund auf neu installieren muss. Der Unterschied spielt keine Rolle. Es ist stabil und es ist der Standard-Node-Paketmanager, also muss ich mich nicht darum kümmern, in CI irgendein anderes Tool zu installieren usw. Meine Erfahrung bei langlebigen Projekten ist, bei den Standardeinstellungen zu bleiben, denn in ein paar Jahren werden sich Drittanbieter-Tools ändern. Das ist meinem Team mit Yarn classic passiert. Jetzt, wo wir bei Vanilla Node und NPM sind, keine Sorgen. Genauso bei Drittanbieter-Abhängigkeiten: einfach so wenig wie möglich verwenden.
- fwlr
Ich musste auf den Kalender schauen, um sicherzugehen, dass es nicht irgendwie der 1. April ist. Nein, es ist August. Hmm. Ich verstehe nicht, wie es möglich ist, dass die pnpm-Maintainer die Bun-Saga mit dem KI-Rewrite zu Rust nicht kennen ... also bin ich verwirrt, verblüfft und insgesamt ratlos, was diese Entscheidung angeht.