Wie Sie pnpm in ServBay aktivieren und verwenden
pnpm
ist ein moderner und effizienter Paketmanager für Node.js, der speziell entwickelt wurde, um die Schwächen traditioneller Paketmanager wie npm
und yarn
bei der Verwaltung von Abhängigkeiten zu lösen. Durch die Verwendung eines inhaltsadressierten Dateisystems sowie von Hardlinks und symbolischen Links reduziert pnpm
den Speicherplatzbedarf erheblich und beschleunigt den Installationsprozess enorm. Für Entwickler, die mit ServBay Node.js-Anwendungen entwickeln, kann die Beherrschung von pnpm
die Verwaltung von Projektabhängigkeiten deutlich effizienter machen.
Das Node.js-Paket, das mit ServBay bereitgestellt wird, enthält bereits corepack
— ein experimentelles Tool von Node.js, das dafür gedacht ist, spezifische Versionen von Paketmanagern (wie npm
, yarn
, pnpm
) für Projekte zu verwalten und bereitzustellen. Im Regelfall können Sie nach der Installation von Node.js über ServBay den Befehl corepack
verwenden, um pnpm
zu aktivieren.
pnpm aktivieren
Falls der Befehl pnpm
nicht direkt verfügbar ist, liegt es meist daran, dass er noch nicht über corepack
aktiviert wurde. Gehen Sie folgendermaßen vor, um ihn zu aktivieren:
Öffnen Sie das Terminal.
Geben Sie den folgenden Befehl ein, um
pnpm
mitcorepack
zu aktivieren:bashcorepack enable pnpm
1Wenn der Befehl erfolgreich ausgeführt wurde, erhalten Sie in der Regel keine weitere Rückmeldung. Das bedeutet, dass
corepack
den Befehlpnpm
im System verlinkt hat.Überprüfen Sie, ob
pnpm
erfolgreich aktiviert wurde und lassen Sie sich die Versionsnummer anzeigen:bashpnpm -v
1Nach Ausführung dieses Befehls sollte die aktuelle Version von
pnpm
angezeigt werden, zum Beispiel:bash9.1.0
1Wird eine Versionsnummer angezeigt, ist
pnpm
einsatzbereit.
Hinweis zu corepack-Downloads
Wenn Sie den Befehl pnpm
verwenden und eine Meldung wie die folgende sehen, bedeutet dies, dass corepack
gerade dabei ist, die angeforderte Version von pnpm
herunterzuladen oder zu aktualisieren. Dies ist Teil der normalen Funktionsweise von corepack
und stellt sicher, dass stets die benötigte oder aktuellste pnpm
-Version verwendet wird.
$ pnpm -v
! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.0.6.tgz
? Do you want to continue? [Y/n]
2
3
Geben Sie Y
ein und bestätigen Sie mit Enter, um corepack
den Download zu erlauben und den Befehlsvorgang fortzusetzen. Nach Abschluss des Downloads wird der gewünschte Befehl wie gewohnt ausgeführt und die Version (oder das Ergebnis des eingegebenen Befehls) angezeigt.
Die wichtigsten Vorteile von pnpm & Anwendungsbeispiele
Das Hauptziel von pnpm
ist es, Abhängigkeiten besonders effizient zu verwalten. Alle Packages werden in einem globalen, inhaltsadressierten Speicher abgelegt – jede Version eines Pakets nur ein einziges Mal. Wird ein Abhängigkeitspaket in Ihrem Projekt benötigt, erstellt pnpm
einen Hardlink aus dem globalen Speicher und baut die Struktur in node_modules
des Projekts über symbolische Links auf. Im Unterschied zu den Phantom-Abhängigigkeiten von npm
sind bei pnpm
jedoch nur direkt aufgeführte Module für das Projekt zugänglich – dies garantiert eine strikte und nachvollziehbare Abhängigkeitsstruktur.
Diese Methode bietet mehrere entscheidende Vorteile:
- Speicherplatz sparen: Verschiedene Projekte teilen sich identische Versionsstände von Abhängigkeitspaketen, doppelte Speicherung wird vermieden.
- Schnelle Installation: In den meisten Fällen liegen die benötigten Pakete bereits im globalen Speicher; es müssen nur noch Verknüpfungen erstellt werden, was sehr viel schneller ist als erneutes Herunterladen oder Kopieren.
- Striktes Abhängigkeits-Management: Phantom-Abhängigkeiten werden vermieden, die Abhängigkeitsstruktur bleibt klar und transparent.
Nachfolgend finden Sie einige wichtige Beispiele für die Verwendung von pnpm
innerhalb der ServBay-Umgebung:
Angenommen, Ihr Projekt befindet sich in einem Unterordner des ServBay-Websites-Stammverzeichnisses, z. B. /Applications/ServBay/www/my-servbay-app
.
Projektabhängigkeiten installieren
Wechseln Sie in das Projektverzeichnis und installieren Sie alle in der package.json
definierten Abhängigkeiten mit folgendem Befehl:
cd /Applications/ServBay/www/my-servbay-app
pnpm install
2
pnpm
prüft den globalen Speicher, lädt ggf. fehlende Pakete herunter und erstellt im Projektordner node_modules
die entsprechenden Links.
Neue Abhängigkeit hinzufügen
Um eine neue Abhängigkeit, beispielsweise lodash
, zum Projekt hinzuzufügen:
pnpm add lodash
Dadurch wird lodash
(sofern noch nicht im globalen Speicher vorhanden) heruntergeladen, verlinkt und automatisch in den Dateien package.json
und pnpm-lock.yaml
eingetragen.
Abhängigkeit entfernen
Um eine nicht mehr benötigte Abhängigkeit wie lodash
aus dem Projekt zu entfernen:
pnpm remove lodash
lodash
wird aus den Projektabhängigkeiten entfernt und die Dateien package.json
sowie pnpm-lock.yaml
werden aktualisiert.
Skripte ausführen
Auch die im Feld scripts
der package.json
definierten Skripte lassen sich mit pnpm
ausführen:
pnpm run dev
# Oder kurz:
pnpm dev
2
3
Paketbefehle ausführen (pnpx)
Ähnlich wie npx
bietet auch pnpm
das Werkzeug pnpx
(bzw. direkt pnpm exec
), um lokal im Verzeichnis node_modules/.bin
installierte Befehle auszuführen, ohne Pakete global installieren zu müssen:
pnpm exec webpack --version
# Oder kürzer:
pnpx webpack --version
2
3
Fazit
Mit dem Befehl corepack enable pnpm
lassen sich pnpm-Funktionalitäten ganz einfach in der Node.js-Umgebung von ServBay aktivieren. Dank der effizienten Abhängigkeitsverwaltung von pnpm
profitieren Sie von einer schnelleren Installation und einer gesteigerten Entwicklungseffizienz – und das bei deutlicher Ersparnis an wertvollem Speicherplatz. Für alle, die in ServBay höchste Ansprüche an ihr Entwicklungserlebnis stellen, ist pnpm
ein besonders empfehlenswertes Tool.