Abo
  • Services:
Anzeige
Yarn könnte den NPM-Client als Standardwerkzeug ablösen.
Yarn könnte den NPM-Client als Standardwerkzeug ablösen. (Bild: Yarnpkg)

Yarn: Facebook veröffentlicht Alternative zu NPM

Yarn könnte den NPM-Client als Standardwerkzeug ablösen.
Yarn könnte den NPM-Client als Standardwerkzeug ablösen. (Bild: Yarnpkg)

Mit Yarn soll die Abhängigkeitsverwaltung von Javascript-Code schneller und sicherer sein als mit dem Werkzeug NPM. Die Quelle der Paketverwaltung NPM, das Registry, kann aber auch mit Yarn von Facebook genutzt werden.

Der Einsatz von Javascript-Code ist bei Facebook so groß, dass das Unternehmen beim Lösen seiner eigenen Probleme schnell an einige praktische Grenzen stößt. Das sei auch bei der Verwendung von NPM geschehen, dem kanonischen Werkzeug zum Verwalten von Node.js-Modulen. Das Team bei Facebook bemängelte die "Konsistenz, Sicherheit und Leistung" von NPM und hat deshalb mit Yarn eine "schnelle, zuverlässige und sichere" Alternative zum NPM-Client erstellt, wie das Unternehmen bekanntgibt.

Anzeige

Wichtig herauszustellen ist dabei, dass Yarn tatsächlich nur als Alternative für das Kommandozeilenwerkzeug NPM gedacht ist. Die von und für NPM gepflegte Datenbank der verfügbaren und nutzbaren Javascript-Module, die sogenannte Registry, soll auch mit Yarn explizit weiterverwendet werden können.

Neustart mit Hilfe von Google und anderen

Facebook habe der Ankündigung zufolge besondere Probleme beim Skalieren mit NPM gehabt. So hätte das Aktualisieren besonders großer Projekte mit vielen Abhängigkeiten wie etwa Babel teilweise einen ganzen Tag gedauert. Der Kniff, sämtliche Abhängigkeiten über das hauseigene CDN zu verteilen, habe zudem erzwungen, dass die Entwickler eine Internetverbindung benötigen, um neuen Code zu erhalten und diesen zu bauen.

Darüber hinaus forciere die Umsetzung der semantischen Versionierung in NPM oft unnötige Aktualisierungen, was wiederum hohen Zeitaufwand verursachen könnte. Facebook habe bei der Erstellung von Yarn bemerkt, dass auch andere Unternehmen wie Google, Exponent oder Tilde ähnliche Probleme und Hacks für deren Lösung eingesetzt haben. Deren Erfahrungen seien ebenso in Yarn eingeflossen.

Abhängigkeitsauflösung und Cache zur Beschleunigung

Bei der Installation neuer Pakete löse Yarn die Abhängigkeiten zunächst auf, indem die Registry rekursiv durchlaufen werde. Das soll eventuell doppelte oder sich selbst überschreibende Installationen von Paketen, wie sie bei NPM vorkommen, verhindern. Ebenso verwende Yarn einen globalen Cache für alle bereits installierten Pakete, so dass ein Paket, das bereits installiert sei und als Abhängigkeit in einem zweiten Projekt benötigt werde, kein zweites Mal heruntergeladen werden müsse.

Die tatsächlich benötigten Pakete werden dann aus dem globalen Cache in das lokale Verzeichnis node_modules kopiert. All das soll zu vorhersagbaren Ergebnissen einer Installation führen. Ebenso sei Yarn in der Lage, Aufgaben parallelisiert abzuarbeiten und dank Mutex sollen sich mehrere laufende Yarn-Instanzen nicht gegenseitig behindern können.

Yarn kann über NPM installiert werden, Pakete für Linux-Distributionen stehen ebenso bereit. Der Code des Werkzeugs steht unter einer freizügigen Lizenz auf Github bereit. Details zu Yarn finden sich auf der Webseite des Projekts. Die Betreiber von NPM begrüßen in einem kurzen Blogeintrag die Offenlegung und Vorstellung von Yarn.


eye home zur Startseite
lestard 12. Okt 2016

Das stimmt, aber dafür wird hin und wieder etwas erfunden, was wirklich cool und besser...

Themenstart

zZz 12. Okt 2016

Da gibt es einmal ein Thema für IT-Profis, zu dem es sogar Kommentare gibt und...

Themenstart

Verox 12. Okt 2016

... and shoot it.

Themenstart

zZz 12. Okt 2016

Gestern Nacht angetestet, gefällt mir sehr gut. Hier mal Vergleichszahlen aus dem &#8221...

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. Thalia Bücher GmbH, Hagen (Raum Dortmund)
  2. Haufe Gruppe, Freiburg im Breisgau
  3. Road Deutschland GmbH, Bretten bei Bruchsal
  4. BST eltromat International Leopoldshöhe GmbH, Bielefeld


Anzeige
Top-Angebote
  1. (u. a. 3x B12-PS 120mm für 49,90€, 3x B14-1 140mm für 63,90€)
  2. (u. a. 5€ Gratis-PSN-Guthaben zur PlayStation-Plus-Mitgliedschaft)

Folgen Sie uns
       


  1. Nintendo

    Super Mario Run für iOS läuft nur mit Onlineverbindung

  2. USA

    Samsung will Note 7 in Backsteine verwandeln

  3. Hackerangriffe

    Obama will Einfluss Russlands auf US-Wahl untersuchen lassen

  4. Free 2 Play

    US-Amerikaner verzockte 1 Million US-Dollar in Game of War

  5. Die Woche im Video

    Bei den Abmahnanwälten knallen wohl schon die Sektkorken

  6. DNS NET

    Erste Kunden in Sachsen-Anhalt erhalten 500 MBit/s

  7. Netzwerk

    EWE reduziert FTTH auf 40 MBit/s im Upload

  8. Rahmenvertrag

    VG Wort will mit Unis neue Zwischenlösung für 2017 finden

  9. Industriespionage

    Wie Thyssenkrupp seine Angreifer fand

  10. Kein Internet

    Nach Windows-Update weltweit Computer offline



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Steep im Test: Frei und einsam beim Bergsport
Steep im Test
Frei und einsam beim Bergsport
  1. PES 2017 Update mit Stadion und Hymnen von Borussia Dortmund
  2. Motorsport Manager im Kurztest Neustart für Sportmanager
  3. NBA 2K17 10.000 Schritte für Ingame-Boost

Gigaset Mobile Dock im Test: Das Smartphone wird DECT-fähig
Gigaset Mobile Dock im Test
Das Smartphone wird DECT-fähig

Civilization: Das Spiel mit der Geschichte
Civilization
Das Spiel mit der Geschichte
  1. Civilization 6 Globale Strategie mit DirectX 12
  2. Take 2 GTA 5 saust über die 70-Millionen-Marke
  3. Civilization 6 im Test Nachhilfestunde(n) beim Städtebau

  1. Re: Der Bug betraf nicht Ubuntu sondern Windows.

    throgh | 03:02

  2. Re: Viel zu späte Einsicht und trotzdem keine Lösung

    Cok3.Zer0 | 02:55

  3. Re: Lösungsvorschlag

    Cok3.Zer0 | 02:44

  4. Re: Du stellst eher Dir ein Bein.

    Cok3.Zer0 | 02:36

  5. Re: Samsung noch mehr gestorben

    User_x | 02:30


  1. 17:27

  2. 12:53

  3. 12:14

  4. 11:07

  5. 09:01

  6. 18:40

  7. 17:30

  8. 17:13


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel