Yarn — Paket- und Projektmanager für Node.js
Praxis-Guide zu Yarn — schnellem JavaScript-Paketmanager als npm-Alternative mit Workspaces, Offline-Cache und reproduzierbaren Installs per Lockfile.
Yarn ist ein schneller JavaScript-Paketmanager und eine etablierte Alternative zu npm. Über die yarn.lock-Datei hält Yarn deine Abhängigkeiten reproduzierbar und installiert sie dank Offline-Cache zügig. Mit Workspaces verwaltest du Monorepos aus mehreren Paketen in einem einzigen Projekt. Wichtig ist die Unterscheidung zwischen Yarn Classic (v1) und dem modernen „Berry" (v2+), das mit Plug'n'Play ein anderes Installationsmodell mitbringt – einige Kommandos unterscheiden sich daher zwischen beiden Linien.
Installieren & Initialisieren
yarn init — Erzeugt interaktiv eine neue package.json.
yarn inityarn init -y — Erzeugt eine package.json mit Standardwerten.
yarn init -yyarn install — Installiert alle Abhängigkeiten aus der package.json.
yarn installyarn — Kurzform für yarn install.
yarnyarn install --frozen-lockfile — Installiert, ohne die yarn.lock zu verändern (CI-sicher).
yarn install --frozen-lockfilePakete hinzufügen & entfernen
yarn add <package> — Fügt ein Paket als Abhängigkeit hinzu.
yarn add expressyarn add <package>@<version> — Fügt eine bestimmte Version hinzu.
yarn add react@18.2.0yarn add -D <package> — Fügt ein Paket als Entwicklungs-Abhängigkeit hinzu.
yarn add -D typescript eslintyarn add --peer <package> — Fügt ein Paket als Peer-Abhängigkeit hinzu.
yarn add --peer reactyarn remove <package> — Entfernt ein Paket.
yarn remove lodashyarn add <package> --exact — Fügt ein Paket mit exakter Version hinzu (ohne ^- oder ~-Präfix).
yarn add react --exactAktualisieren & Informationen
yarn upgrade <package> — Aktualisiert ein Paket auf die neueste Version innerhalb des erlaubten Bereichs.
yarn upgrade expressyarn upgrade --latest — Aktualisiert alle Pakete auf ihre jeweils neueste Version.
yarn upgrade --latestyarn outdated — Zeigt veraltete Pakete an.
yarn outdatedyarn info <package> — Zeigt ausführliche Informationen zu einem Paket an.
yarn info reactyarn list — Listet installierte Pakete auf.
yarn list --depth=0yarn why <package> — Zeigt an, warum ein Paket installiert ist (Abhängigkeitskette).
yarn why webpackSkripte & Ausführen
yarn run <script> — Führt ein in der package.json definiertes Skript aus.
yarn run buildyarn <script> — Kurzform für yarn run.
yarn buildyarn start — Führt das start-Skript aus.
yarn startyarn test — Führt das test-Skript aus.
yarn testyarn dlx <package> — Führt ein Paket aus, ohne es zu installieren (wie npx).
yarn dlx create-react-app my-appWorkspaces
yarn workspaces list — Listet alle Workspaces im Projekt auf.
yarn workspaces listyarn workspace <name> add <package> — Fügt einem bestimmten Workspace ein Paket hinzu.
yarn workspace @myapp/server add expressyarn workspace <name> run <script> — Führt ein Skript in einem bestimmten Workspace aus.
yarn workspace @myapp/client run buildyarn workspaces foreach run <script> — Führt ein Skript in allen Workspaces aus.
yarn workspaces foreach run testCache & Konfiguration
yarn cache clean — Leert den globalen Paket-Cache.
yarn cache cleanyarn config set <key> <value> — Setzt einen Konfigurationswert.
yarn config set registry https://registry.npmjs.orgyarn config list — Zeigt alle Konfigurationswerte an.
yarn config listyarn global add <package> — Installiert ein Paket global (Yarn Classic).
yarn global add serve Fazit
Yarn bündelt schnelle, reproduzierbare Installs, einen Offline-Cache und erstklassige Workspace-Unterstützung in einem Werkzeug – ideal für Monorepos und größere Projekte. Pinne Versionen bewusst (--exact) und nutze in CI-Pipelines yarn install --frozen-lockfile (Classic) bzw. yarn install --immutable (Berry), damit Builds reproduzierbar bleiben und die yarn.lock nicht unbemerkt verändert wird. Behalte die Install-Skripte deiner Abhängigkeiten im Blick – sie sind ein verbreiteter Supply-Chain-Vektor. Und denk daran, Classic- und Berry-Kommandos nicht zu vermischen: Was unter v1 funktioniert, heißt unter v2+ oft anders.
Weiterführende Links
- yarnpkg.com – offizielle Projektseite mit Dokumentation und CLI-Referenz (englisch)
- Yarn – GitHub-Projekt – Quellcode, Releases und Issues (englisch)