Die Wahl eines JavaScript-Paketmanagers wirkt sich stärker auf die Lebensdauer eines Projekts aus, als es zunächst scheint: Format der Lockfile, Installationsgeschwindigkeit in der Continuous Integration, Kompatibilität mit der npm-Registry, Unterstützung für Monorepos. 2026 hat sich die Landschaft auf allen vier Feldern gleichzeitig bewegt, mit einer grundlegenden Neuschreibung von pnpm und einer gefestigten Position von Bun und Deno im professionellen Einsatz.
npm, die Referenz, die bleibt
npm wird standardmäßig mit Node.js ausgeliefert und bleibt der Einstiegspunkt für die meisten Projekte sowie die Registry, auf die alle anderen Werkzeuge zugreifen. Die in JavaScript geschriebene Abhängigkeitsauflösung bleibt langsamer als bei der Konkurrenz, besonders spürbar bei Kaltinstallationen eines großen Abhängigkeitsbaums, doch die Universalität und der Verzicht auf zusätzliche Installation machen es zu einer vernünftigen Standardwahl für ein einfaches Projekt oder ein Team, das kein zusätzliches Tooling möchte.
pnpm 12, eine in Rust neu geschriebene Basis
Version 12 von pnpm markiert einen technischen Bruch: Der Kern des Tools wurde in Rust neu geschrieben, bei gleichzeitiger Kompatibilität mit den Befehlen, Optionen und Formaten von pnpm 11. Der Gewinn zeigt sich vor allem bei wiederholten Installationen, die vom lokalen Cache und einem bereits vorhandenen node_modules profitieren. Die 12.x-Reihe hat außerdem die Catalogs auf das workspace:-Protokoll erweitert, Sicherheitsindikatoren für die Lieferkette bei remove und update ergänzt und pnpm pipeline eingeführt, um die Aufgaben eines Monorepos wie einen CI-Job zu orchestrieren.
Für ein Team, das sein Monorepo bereits mit standardisierten Kommandozeilenwerkzeugen organisiert hat, ändert diese Neuschreibung wenig an den täglichen Gewohnheiten, verkürzt aber die Wartezeit bei Installationen innerhalb einer Deployment-Pipeline.
Bun, Geschwindigkeit als zentrales Argument
Bun geht das Problem anders an: Statt eines auf Node.js aufsetzenden Paketmanagers handelt es sich um eine einzige, in Zig geschriebene ausführbare Datei, die Runtime, Bundler, Test-Runner und Paketmanager vereint. Der Installer kommt mit deutlich weniger Systemaufrufen aus als npm und nutzt ein binäres Lockfile-Format, was die in mehreren 2026 veröffentlichten Benchmarks beobachteten Geschwindigkeitsunterschiede bei Kaltinstallationen wie bei großen Projekten erklärt. Der Preis dafür bleibt die Kompatibilität: Bun deckt den Großteil der Node.js-API ab, doch manche native Pakete oder fortgeschrittene Installationsskripte bleiben Sonderfälle, die vor einer vollständigen Migration getestet werden sollten.
Deno und das Ende der Isolation von npm
Deno pflegte lange ein von npm getrenntes Ökosystem, bevor es diesen Kurs ab der 2.x-Reihe weitgehend aufgab. npm:-Präfixe erlauben nun die Nutzung von Paketen aus der npm-Registry ohne package.json-Datei, bei gleichzeitigem Erhalt des Modells expliziter Berechtigungen, das dem Tool seinen Ruf für Sicherheit per Standardeinstellung eingebracht hat. Deno bleibt im Unternehmensumfeld eine Minderheitenlösung, doch die Unterstützung für Workspaces und die npm-Kompatibilität machen es zu einer glaubwürdigen Option für ein neues Projekt, das das Vertrauen in Installationsskripte begrenzen möchte.
Das Format der Lockfile lässt sich nicht automatisch von einem Werkzeug zum anderen übertragen: Der Wechsel des Paketmanagers mitten im Projekt ist eine Migration, kein einfacher Befehlswechsel.
Vergleich im Überblick
| Werkzeug | Ansatz | Lockfile-Format | npm-Kompatibilität | Empfohlener Anwendungsfall |
|---|---|---|---|---|
| npm | Auflösung in JavaScript, mit Node.js ausgeliefert | package-lock.json (JSON) | Nativ | Einfaches Projekt, Team ohne zusätzliches Tooling |
| pnpm 12 | Kern in Rust neu geschrieben, gemeinsamer Abhängigkeits-Store | pnpm-lock.yaml (YAML) | Vollständig | Monorepo, Team mit Fokus auf Stabilität und Cache-Geschwindigkeit |
| Bun | Natives Runtime und Paketmanager in Zig geschrieben | bun.lock (binär oder JSONC) | Breit, einige Sonderfälle | Häufige Installationen, hohe Geschwindigkeitsanforderung |
| Deno 2.x | Sicheres Runtime mit Berechtigungsmodell, npm:-Spezifizierer | deno.lock (JSON) | Über npm:-Präfix | Neues Projekt, Priorität auf Sicherheit per Standardeinstellung |
Ein Projekt mit jedem der vier Werkzeuge installieren
# npm (mit Node.js ausgeliefert)
npm install
# pnpm (über Corepack, empfohlen zum Fixieren der Version)
corepack enable
pnpm install
# Bun
curl -fsSL https://bun.sh/install | bash
bun install
# Deno, mit npm-Kompatibilität
deno install
Sicherheit der Lieferkette
Die Wahl eines Paketmanagers ist nicht nur eine Frage der Geschwindigkeit: Es geht auch um das Vertrauen, das automatisch ausgeführten Installationsskripten entgegengebracht wird. npm führt standardmäßig die postinstall-Skripte jedes Pakets aus, was in den letzten Jahren mehrfach als Einfallstor für Angriffe auf die Lieferkette diente. pnpm blockiert diese Skripte seit Version 10 standardmäßig und verlangt eine explizite Freigabe über pnpm approve-builds – ein Unterschied, der bei einem Projekt mit Hunderten Drittanbieter-Paketen erheblich ins Gewicht fällt. Deno treibt diese Logik weiter, mit einem Berechtigungsmodell, das für die Laufzeitumgebung selbst gilt, nicht nur für die Installation. Bun hat zwar Sicherheitsindikatoren ergänzt, verhält sich beim Ausführen von Skripten aber weiterhin näher an npm.
Für ein Team, das mehrere Kundenrepositories betreut, verdient dieses Kriterium ebenso viel Aufmerksamkeit wie die Installationsgeschwindigkeit: Ein Sicherheitsvorfall durch eine kompromittierte Abhängigkeit kostet deutlich mehr als die wenigen Sekunden, die in einer Deployment-Pipeline eingespart werden.
Monorepos und Integration in Build-Werkzeuge
Die Wahl des Paketmanagers geht oft mit der Wahl eines Task-Orchestrators für Monorepos einher, etwa Turborepo oder Nx. Alle vier Werkzeuge bieten mit diesen Orchestratoren kompatible Workspaces, doch der Grad der Integration variiert: pnpm bleibt dank seines gemeinsamen Abhängigkeits-Stores, der eine doppelte Ablage gemeinsamer Pakete auf der Festplatte vermeidet, die Referenz für umfangreiche Monorepos. Bun macht auf diesem Feld schnelle Fortschritte, wird von manchen Orchestrator-Plugins aber noch nicht vollständig unterstützt. npm und Deno decken einfache Fälle ab, ohne diese Leistung auf sehr große Monorepos auszudehnen.
Wie man die richtige Wahl trifft
Die Installationsgeschwindigkeit sollte nie das einzige Entscheidungskriterium sein. Ein Team, das mehrmals täglich aus der Continuous Integration heraus deployt, gewinnt mehr durch die Optimierung des Caches eines bereits eingesetzten Werkzeugs als durch den Wechsel zu einem neuen Paketmanager für wenige gesparte Sekunden. Ein neues Projekt ohne Tooling-Altlasten kann dagegen pnpm oder Bun ohne Migrationskosten wählen.
Für einen freiberuflichen Entwickler, der mehrere unterschiedlich große Kundenprojekte jongliert, liegt die Priorität meist auf Stabilität und möglichst breiter Kompatibilität: pnpm bleibt die sicherste Wahl. Für ein Startup, das seine Build-Zeit in der Continuous Integration für ein einzelnes Produkt optimiert, kann Bun seine Einführung rechtfertigen, sofern die Kompatibilitätstests überzeugen. Für ein Team, das einen neuen, isolierten Dienst mit hohen Sicherheitsanforderungen aufbaut, lohnt sich eine Prüfung von Deno, bevor die Option aus reiner Gewohnheit verworfen wird.
Was man sich merken sollte
npm bleibt eine legitime Standardwahl für ein einfaches Projekt. pnpm 12 hat an Leistung gewonnen, ohne etwas von seiner Stabilität für Monorepos einzubüßen. Bun macht Geschwindigkeit weiterhin zu seinem wichtigsten Verkaufsargument, mit einer Kompatibilität, die sich verbessert, aber vor einem vollständigen Wechsel noch getestet werden sollte. Deno schließlich hat seine npm-Kompatibilität so weit gefestigt, dass es über sein historisches Publikum hinaus zu einer vernünftigen Option geworden ist. Dieselbe Logik der Reibungsreduzierung erklärt, warum KI-Assistenten auch in Team-Chat-Werkzeugen weiter vordringen.
Bei Kundenprojekten, die im Tagesgeschäft betreut werden, zahlt sich ein Wechsel des Paketmanagers selten so aus wie erhofft: Die bei der Installation gewonnene Zeit geht oft beim Anpassen von Skripten, Pipelines und Teamgewohnheiten wieder verloren. Das eigentliche Signal, das es 2026 zu beobachten gilt, ist nicht das Wettrennen um Geschwindigkeit, sondern die schrittweise Annäherung all dieser Werkzeuge an dieselbe npm-Registry und denselben Kompatibilitätsstandard — Simon Janvier.
Zum Weiterlesen: offizielle pnpm-Dokumentation, „What’s different in pnpm 12″.
