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. Deutsche Telekom IT GmbH, Darmstadt
  2. Statistisches Bundesamt, Wiesbaden
  3. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn
  4. Aareon Deutschland GmbH, Leipzig, Dortmund


Anzeige
Spiele-Angebote
  1. 99,99€ mit Vorbesteller-Preisgarantie
  2. 57,99€/69,99€ (Vorbesteller-Preisgarantie)
  3. 1,49€

Folgen Sie uns
       


  1. Dex-Bytecode

    Google zeigt Vorschau auf neuen Android-Compiler

  2. Prozessor

    Intels Ice Lake wird in 10+ nm gefertigt

  3. Callya Flex

    Vodafone eifert dem Congstar-Prepaid-Tarif nach

  4. Datenbank

    MongoDB bereitet offenbar Börsengang vor

  5. Spielemesse

    Entwickler von Playerunknown's Battlegrounds hält Keynote

  6. Matias Ergo Pro Keyboard im Test

    Die Exzentrische unter den Tastaturen

  7. Deeplearn.js

    Google bringt Deep Learning in den Browser

  8. Satellitennavigation

    Sapcorda will auf Zentimeter genau orten

  9. Nach Beschwerden

    Google löscht Links zu Insolvenzdatenbanken

  10. Arena of Valor

    Tencent veröffentlicht Sucht-Moba in Europa



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sysadmin Day 2017: Zum Admin-Sein fehlen mir die Superkräfte
Sysadmin Day 2017
Zum Admin-Sein fehlen mir die Superkräfte

Orange Pi 2G IoT ausprobiert: Wir bauen uns ein 20-Euro-Smartphone
Orange Pi 2G IoT ausprobiert
Wir bauen uns ein 20-Euro-Smartphone
  1. Odroid HC-1 Bastelrechner besser stapeln im NAS
  2. Bastelrechner Nano Pi im Test Klein, aber nicht unbedingt oho

Mitmachprojekt: HTTPS vermiest uns den Wetterbericht
Mitmachprojekt
HTTPS vermiest uns den Wetterbericht

  1. Re: Gute Idee

    EinJournalist | 14:44

  2. Re: 10+ nm heißt für mich 10nm oder größer [k.T]

    ms (Golem.de) | 14:43

  3. Re: Versteh den Sinn nicht

    Truster | 14:40

  4. +1

    janoP | 14:39

  5. Re: Im Ernst?

    janoP | 14:38


  1. 14:49

  2. 13:50

  3. 13:27

  4. 13:11

  5. 12:20

  6. 12:01

  7. 11:54

  8. 11:35


  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