Facebook stellt npm-Alternative Yarn Open Source

Yarn – neuer Package Manager für JavaScript
Keine Kommentare

Schon wieder ein neuer Package Manager? Allerdings, und zwar aus bekannter Hand: Facebook, Exponent, Google und Tilde haben gemeinsam einen Paketmanager für JavaScript Open Source gestellt. Yarn greift zwar auf die npm-Registry zurück, soll aber auch Pakete schneller installieren und Abhängigkeiten besser verwalten können.

Für die meisten JavaScript-Entwickler ist die Verwendung fremder Code-Snippets oder Packet Manager Teil ihres Arbeitsalltags. Der bekannteste JavaScript-Paketmanager ist npm client, der Zugang zu mehr als 300.000 Packages in der npm-Registry bietet und von mehr als fünf Millionen Entwicklern genutzt wird.

Auch bei Facebook griff man bislang auf npm zurück – stieß aber aufgrund der Größe der Codebasis und der wachsenden Zahl an Ingenieuren auf immer mehr Probleme in puncto Verlässlichkeit, Sicherheit und Performance. Aus diesem Grund musste eine Alternative her: Gemeinsam mit Exponent, Google und Tilde hat Facebook nun den npm-Client Yarn Open Source gestellt.

Yarn – eine Alternative zu npm

Mit dem Package Manager Yarn haben Entwickler weiterhin Zugriff auf die npm-Registry, sollen aber gleichzeitig Pakete schneller installieren und Abhängigkeiten lückenlos über Maschinen oder sichere Offline-Umgebungen verwalten können. Yarn besitzt dabei dasselbe Featureset wie bestehende Workflows, soll aber eben schneller, sicherer und verlässlicher sein.

Das Besondere an Yarn ist dabei seine Art, Abhängigkeiten zu verwalten. Denn im Node-Ökosystem werden Abhängigkeiten in ein node_modules-Directory innerhalb eines Projekts abgelegt, was zu Inkonsistenzen führen kann. Da doppelte Abhängigkeiten hier zusammengeführt werden, können sie je nach Installationsreihenfolge unterschiedlich ausfallen. Das bedeutet wiederum, dass einige Dateien funktionieren, andere aber nicht.

Um das zu vermeiden, lässt Yarn die Registry zuerst rekursiv durchlaufen und legt die Abhängigkeit für bestimmte Versionen in einem Lockfile ab. Zudem wird ein globaler Cache für alle bereits installierten Pakete genutzt, sodass nur neue oder veränderte Packages als Tarball heruntergeladen werden müssen. Die dann tatsächlich benötigten Pakete werden aus dem globalen Cache in das lokale Verzeichnis node_modules kopiert. Dieser Vorgang soll die Performance beschleunigen und die Ressourcennutzung verringern. Außerdem soll Yarn Aufgaben parallelisiert abarbeiten können; auch eine Offline-Verwendung das Paketmanagers ist möglich, sofern die benötigten Pakete bereits installiert sind.

Angular Camp 2020

Als Online- oder Präsenztraining!

Das 360°-Intensivtraining mit Angular-Koryphäe Manfred Steyer
Präsentiert von Entwickler Akademie

Facebook setzt Yarn bereits erfolgreich ein, wie man der folgenden Abbildung entnehmen kann. Auch in puncto Installationszeiten kann Yarn punkten, wie man aus dem angestellten Vergleich zwischen Facebooks Package Manager und npm für React Native unter verschiedenen Bedingungen sehen kann.

yarn

Yarn im Einsatz, Quelle: https://code.facebook.com/posts/1840075619545360

Der leichteste Weg zum Start mit Yarn erfolgt über npm: npm install –g yarn. Der Paketmanager steht auf GitHub zum Download zur Verfügung; ausführliche Informationen zu Yarn finden sich auf der Projektwebsite und im Ankündigungspost von Facebook. Übrigens begrüßt auch npm selbst in einem Blogbeitrag das Release von Yarn.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -