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...

zZz 12. Okt 2016

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

Verox 12. Okt 2016

... and shoot it.

zZz 12. Okt 2016

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



Anzeige

Stellenmarkt
  1. McFIT Global Group GmbH, Berlin
  2. Unitymedia NRW GmbH, Köln
  3. über JobLeads GmbH, Dortmund
  4. T-Systems International GmbH, Leinfelden-Echterdingen, München


Anzeige
Spiele-Angebote
  1. 59,99€/69,99€ (Vorbesteller-Preisgarantie)
  2. 8,99€

Folgen Sie uns
       


  1. Deutscher Computerspielpreis

    Portal Knights ist das "Beste Deutsche Spiel" 2017

  2. Sledgehammer Games

    Call of Duty WW2 und die Befreiung von Europa

  3. Elektroauto

    VW testet E-Trucks

  4. Telekom

    IP-Umstellung wird auch bei Geschäftskunden durchgesetzt

  5. Linux-Hardening

    Grsecurity nicht mehr für alle verfügbar

  6. Spracheingabe

    Nuki-Smart-Lock lässt sich mit Alexa öffnen

  7. Mediendienste-Richtlinie

    Youtuber sollen keine Schleichwerbung mehr machen dürfen

  8. Hannover Messe und Cebit

    Die Deutsche Bahn ärgert Messebesucher

  9. LTE

    Australien setzt auf Fixed Wireless mit 1 GBit/s

  10. Ultrastar He12

    HGST liefert seine 12-Terabyte-Festplatte aus



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
In eigener Sache: Die Quanten kommen!
In eigener Sache
Die Quanten kommen!
  1. In eigener Sache Golem.de führt kostenpflichtige Links ein
  2. In eigener Sache Golem.de sucht Marketing Manager (w/m)
  3. In eigener Sache Golem.de geht auf Jobmessen

Akkutechnik: Was, wenn nicht Lithium?
Akkutechnik
Was, wenn nicht Lithium?
  1. Geländekauf in Nevada Google wird Nachbar von Teslas Gigafactory
  2. Lagerverkehr Amazon setzt auf Gabelstapler mit Brennstoffzellen
  3. Lithium-Akkus Durchbruch verzweifelt gesucht

Mobile-Games-Auslese: Untote Rundfahrt und mobiles Seemannsgarn
Mobile-Games-Auslese
Untote Rundfahrt und mobiles Seemannsgarn
  1. Spielebranche Beschäftigtenzahl in der deutschen Spielebranche sinkt
  2. Pay-by-Call Eltern haften nicht für unerlaubte Telefonkäufe der Kinder
  3. Spielebranche Deutscher Gamesmarkt war 2016 stabil

  1. Jojo... selbst erlebt ...

    FlorianP | 01:35

  2. Re: IT Wachstums-Felder

    pk_erchner | 01:34

  3. Re: ..wird also wie gehabt weitergenutzt..

    Junior-Consultant | 01:31

  4. Re: Totes Pferd bekommt neue Sauerstofflasche

    ibecf | 01:30

  5. Re: wenige Minuten Ladezeit

    WonderGoal | 01:18


  1. 23:39

  2. 20:59

  3. 18:20

  4. 18:20

  5. 18:05

  6. 17:46

  7. 17:20

  8. 17:01


  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