Corepack
Corepack ermöglicht es dir, den Paketmanager und dessen Version auf Projektbasis festzulegen.
Wenn du mit verschiedenen Projekten arbeitest, solltest du darauf achten, nicht mehrere Paketmanager (npm, yarn, pnpm) global installiert zu haben. Das kann schnell zu Inkompatibilitäten führen, insbesondere wenn du aktuelle und ältere Projekte gleichzeitig betreust. Im schlimmsten Fall kannst du nach dem Update des Paketmanagers oder deines Betriebssystems ein Projekt nicht mehr starten.
Für eine saubere Verwaltung empfiehlt sich daher die Nutzung von Corepack. Es fungiert als Vermittler zwischen deinem Projekt und dem Paketmanager, sodass du Projekte unabhängig voneinander betreiben kannst. Corepack ermöglicht es dir, den Paketmanager und dessen Version auf Projektbasis festzulegen.
Das könnte zum Beispiel so aussehen:
| Projekt A | Projekt B | Projekt C |
|---|---|---|
| npm 18.0.0 | npm 22.0.0 | Yarn 2.4.0 |
Wenn du Node.js installiert hast, ist auch Corepack bereits installiert. Allerdings ist es standardmäßig oft deaktiviert.
Corepack aktivieren
Abschnitt betitelt „Corepack aktivieren“Bevor du Corepack nutzen kannst, musst du es einmalig auf deinem Computer aktivieren. Das sorgt dafür, dass die Befehle pnpm und yarn verfügbar gemacht werden, ohne dass du sie separat installieren musst.
corepack enablePaketmanager festlegen
Abschnitt betitelt „Paketmanager festlegen“Du kannst den Paketmanager und dessen Version für dein Projekt festlegen, indem du im Terminal in das Projektverzeichnis wechselst und den Befehl corepack use verwendest:
corepack use pnpm@latest # Installiert pnpm in der neuesten Versioncorepack use yarn@3.2.3 # Installiert Yarn in der Version 3.2.3Corepack wird in deiner Projektdatei package.json eine Zeile hinzufügen, die den Paketmanager und dessen Version festlegt:
"packageManager": "yarn@3.2.3+sha224.953c8233f7a92884eee2de69a1b92d1f2ec1655e66d08071ba9a02fa"Vorhandenes Projekt nutzen
Abschnitt betitelt „Vorhandenes Projekt nutzen“Wenn du ein Projekt herunterlädst (z. B. von GitHub), das Corepack verwendet, musst du nichts weiter tun, als den Paketmanager auszuführen (vorausgesetzt, du hast corepack enable einmalig ausgeführt).
Wenn in der package.json beispielsweise pnpm festgelegt ist, kannst du einfach pnpm install tippen. Corepack erkennt automatisch die geforderte Version, lädt sie im Hintergrund herunter und führt sie aus. Du musst dich nicht darum kümmern, ob du die richtige Version installiert hast.
Probleme mit global installierten Paketmanagern
Abschnitt betitelt „Probleme mit global installierten Paketmanagern“Wenn du die Paketmanager npm, yarn oder pnpm bereits systemweit (global) installiert hast, kann es zu Konflikten kommen. Corepack verwaltet die Paketmanager auf Projektebene und sorgt dafür, dass immer die passende Version verwendet wird. Globale Installationen sind damit nicht mehr nötig und können sogar stören.
Empfehlung: Deinstalliere die Paketmanager, falls du sie global installiert hast. So vermeidest du Versionskonflikte und stellst sicher, dass Corepack die Verwaltung übernimmt.
So deinstallierst du die Paketmanager:
# Falls du sie mit npm installiert hast:npm uninstall -g npm yarn pnpm
# Falls du sie mit Homebrew installiert hast:brew uninstall npm yarn pnpm
# Falls du sie mit Chocolatey installiert hast:choco uninstall npm yarn pnpmDanach übernimmt Corepack die Verwaltung der Paketmanager für jedes Projekt individuell. Mehr dazu findest du oben im Tutorial.