Yarn

Yarn – “the new cool kid on the block”

Von am 07.03.2017

Wer hin und wieder mit JavaScript zu tun hat, kam wohl auch schon in das Vergnügen den Node Package Manager (kurz NPM) zu verwenden. Wer sich nun etwas mehr in dieser Szene aufhält, hat vermutlich auch schon von Yarn gehört. Yarn ist sozusagen “the new cool kid on the block”. Aber Yarn ist nicht nur ein neuer Trend, Yarn hat wesentliche Vorteile gegenüber NPM und könnte sich deswegen auf lange Sicht gesehen tatsächlich gegenüber NPM durchsetzen. Zuerst vorweg: Yarn ist kein komplett neues Ekosystem. Yarn verwendet die gleichen Packages wie NPM. Somit kann jeder, der bis jetzt NPM in seinen Projekten verwendet hat, schnell und einfach auf Yarn umsteigen und somit die Vorteile die sich dadurch ergeben nutzen.

Die Vorteile von Yarn

FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT.

Das ist der Leitspruch von Yarn, und daraus ergeben sich auch die wichtigsten Vorteile.

Schnell

Yarn ist schnell. Sogar sehr schnell. Das liegt an zwei Gründen:

  1. Yarn speichert alle Packages, die heruntergeladen werden
  2. Yarn führt mehrere Operationen gleichzeitig aus

Das bedeutet, wenn ich in einem Projekt zum Beispiel das das NPM Package “webpack” verwende, wird dieses auf meinem Computer gespeichert. Wenn ich nun ein neues Projekt starte, und dort ebenfalls wieder “webpack” verwende, wird das Package direkt von meiner Festplatte geladen und muss nicht erneut über das Internet aus dem Onlineverzeichnis heruntergeladen werden. Das ist einerseits schneller, und andererseits erhält man dadurch auch die Möglichkeit neue Projekte zu starten, ohne mit dem Internet verbunden sein zu müssen.

Zuverlässig

In einem normalen NPM-Projekt werden die Packages die verwendet werden in einer package.json Datei gespeichert. In dieser Datei wird für jedes Package angegeben, welche Version davon installiert ist beziehungsweise welche Version mindestens benötigt wird. Yarn geht hierbei noch einen Schritt weiter: Es wird nicht nur gespeichert, welche Version des verwendeten Packages benutzt wird, es speichert zudem auch alle Versionen der Dependencies dieses Packages in ein eigenes File namens yarn.lock. Gemeinsam mit dieser Information und einem eigenen Algorithmus für Installationen, garantiert Yarn so, dass ein Projekt das auf einem Computer lauft, auch auf jedem anderen Computer funktioniert.

Sicher

Yarn verwendet zudem Checksummen um die Intigrität von installierten Packages zu verifizieren bevor diese ausgeführt werden.

Installation

Nun da wir die wichtigsten Vorteile von Yarn kennen wird es Zeit Yarn zu installieren und zu verwenden. Und wie wird man Yarn wohl am einfachsten installieren? Richtig: über NPM!
Also ganz einfach, wie gewohnt: npm install -g yarn ausführen, um Yarn global zu installieren.
Und von nun an kann man Yarn nahezu ident zu NPM verwenden. Die meisten üblichen Befehle sind gleich, oder haben nur geringe Abweichungen.

Die wichtigsten Befehle

Ein neues Package hinzufügen

yarn add <packagename>

Ein neues Package als dev-dependency hinzufügen

yarn add --dev <packagename>

Ein Package entfernen

yarn remove <packagename>

Installation starten

yarn (“install” muss nicht eingegeben werden)

Weitere Befehle

Die meisten anderen Befehle sind eins zu eins gleich wie bei NPM:

npm link === yarn link
npm outdated === yarn outdated
npm publish === yarn publish
npm run === yarn run
npm cache clean === yarn cache clean
npm login === yarn login
npm logout === yarn logout
npm test === yarn test

Fazit

Yarn ist einfach einzurichten und benötigt beinahe keine Einarbeitungszeit. Mit einigen Vorteilen gegenüber NPM und dem gleichen Ekosystem dahinter, ist es somit meiner persönlicher Favorit und auch meine erste Wahl für zukünftige Projekte.

The comments are closed.