© saicle/Shutterstock.com
pnpm - eine Alternative zu Yarn und npm?

Node.js-Module: pnpm


Egal, ob client- oder serverseitige Applikationen, um ein Werkzeug kommen Sie bei der Entwicklung mit JavaScript nicht herum: Paketmanager. Lange Zeit war npm das einzige Werkzeug, das für die Installation von Paketen verfügbar war – doch mittlerweile gibt es einige Alternativen.

npm ist innerhalb kurzer Zeit den Weg von einem kleinen Werkzeug, das für Node.js entwickelt wurde, hin zum weltweit führenden Paketmanager mit der größten Paket-Registry geworden. Die Idee, die hinter einem solchen Paketmanager steckt, ist, dass Sie sich als Entwickler auf den Kern Ihrer Applikation konzentrieren und alle weiteren Aspekte durch zusätzliche Pakete in Ihre Applikation ziehen. Die Spanne reicht von großen Frameworks und Bibliotheken wie React, Angular, Vue, Express oder Nest, die die Grundlage für eine Applikation bilden, über Hilfsbibliotheken wie Lodash bis hin zu kleinen Paketen, die die Defizite von JavaScript ausgleichen. Typische Beispiele sind Pakete wie left-pad, is-odd oder q. npm ist mittlerweile nicht mehr der einzige Paketmanager für JavaScript. An dieser Stelle zeigt sich einmal mehr, dass Konkurrenz gut für die Kunden, in diesem Fall die Verwender des Paketmanagers, ist. Alternativen wie Yarn oder pnpm lösen bestimmte Probleme und verbessern so den Alltag von JavaScript-Entwicklern. In diesem Artikel werfen wir einen Blick auf die Entstehungsgeschichte der alternativen Paketmanager und beschäftigen uns etwas detaillierter mit pnpm.

Die Entstehung von alternativen Paketmanagern

Trotz seines kometenhaften Aufstiegs ist npm nicht perfekt. Durch die wachsende Beliebtheit kamen auch immer mehr die Probleme des Paketmanagers zum Vorschein. Das ging so weit, dass sich Facebook dazu entschied, eine Alternative zu npm zu entwickeln. Yarn sollte einige der dringendsten Probleme von npm lösen: Geschwindigkeit, Sicherheit und Verlässlichkeit. Yarn führte einen verbesserten Caching-Mechanismus ein und erlaubte parallele Downloads, was die Installationsgeschwindigkeit erheblich verbesserte. Zur Verbesserung der Sicherheit wurde die yarn.lock-Datei eingeführt, in der Hashes für jedes installierte Paket gespeichert werden. Bei jeder Installation werden die Pakete überprüft. Stimmt der Hash nicht mit der Prüfsumme des zu installierenden Pakets überein, wird die Installation mit einem Fehlschlag abgebrochen. Zum Entstehungszeitpunkt speicherte npm lediglich die zu installierenden Versionen der direkt installierten Pakete in der package.json. In diesem Zuge wurde auch n...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang