Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Yarn: Der schnelle und zuverlässige Package Manager von Facebook

14. 05. 2016 2 Min. Lesezeit CORE SYSTEMSdevelopment
Yarn: Der schnelle und zuverlässige Package Manager von Facebook

Facebook, Google und andere haben Yarn vorgestellt — einen alternativen npm-Client, der Probleme mit Geschwindigkeit, Determinismus und Offline-Installation löst. Warum auf Yarn wechseln.

npm-Probleme im Enterprise

npm ist der Standard-Package-Manager für Node.js, aber in einer Enterprise-Umgebung stößt er auf Probleme:

  • Nicht-Determinismusnpm install kann unterschiedliche Dependency Trees auf verschiedenen Maschinen erzeugen
  • Geschwindigkeit — Installation großer Projekte dauert Minuten
  • Sicherheit — keine Paket-Integritätsverifizierung
  • Offline — Installation erfordert eine Netzwerkverbindung

Yarn löst all diese Probleme.

Lockfile und Determinismus

Yarn führt yarn.lock ein — eine automatisch generierte Datei, die identische Dependency Trees sicherstellt:

# Yarn: Der schnelle und zuverlässige Package Manager von Facebook
lodash@^4.17.0:
  version "4.17.4"
  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz"
  integrity sha1-eCA6TRwyiuHYbcpkYONQ0d9P1cg=

Jede Abhängigkeit hat eine exakte Version, URL und Integritäts-Hash. yarn install auf einem CI-Server liefert ein identisches Ergebnis wie auf der Entwicklermaschine.

Zu dieser Zeit hatte npm kein Lockfile — npm shrinkwrap existierte, aber niemand nutzte es.

Performance und Caching

Yarn ist dramatisch schneller als npm:

  • Parallele Downloads — Pakete werden gleichzeitig heruntergeladen, nicht sequenziell
  • Globaler Cache — ein einmal heruntergeladenes Paket muss nicht erneut geladen werden
  • Offline-Installation — funktioniert aus dem Cache ohne Internet

Benchmarks zeigen 2–7-fache Beschleunigung gegenüber npm 3.x. Für CI/CD-Pipelines, bei denen npm install bei jedem Build läuft, ist das eine erhebliche Einsparung.

Migration von npm

Der Wechsel zu Yarn ist trivial:

  • yarn statt npm install
  • yarn add package statt npm install --save package
  • yarn remove package statt npm uninstall package
  • yarn.lock ins Git committen (und npm-shrinkwrap.json löschen)

Yarn ist kompatibel mit der npm-Registry — es verwendet dieselben Pakete, nur einen anderen Client. Yarn und npm können koexistieren, aber wählen Sie eins pro Projekt.

Fazit: Wettbewerb kommt npm zugute

Yarn hat npm zum Verbessern gezwungen — npm 5 wird ein eigenes Lockfile und verbesserte Performance bringen. Gesunder Wettbewerb kommt dem gesamten Ökosystem zugute. Für aktuelle Projekte empfehlen wir Yarn als primären Package Manager.

yarnnpmnode.jspackage managerjavascripttooling
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns