Node-Installationen sind seit Jahren langsam. Man führt npm install aus, geht zur Kaffeemaschine, kommt zurück, und CI löst immer noch @types/node auf. Aube ändert diese Gleichung: Es schließt eine warme CI-Installation eines echten 1.400-Pakete-Projekts in 139 Millisekunden ab – etwa 7,3x schneller als pnpm und 3x schneller als Bun auf derselben Testumgebung. Der Clou: Es liest und schreibt Ihre vorhandene Lockfile, sodass Sie es sofort ausprobieren können, ohne Migration im Team zu fordern.
Probiere Apidog noch heute aus
In diesem Leitfaden erfährst du, was Aube ist, wie es diese Geschwindigkeit erreicht, wie du es installierst, Benchmarks im Vergleich zu pnpm, npm, yarn und Bun, sowie wie es in einen API-Workflow mit Tools wie Apidog passt.
Was ist Aube?
Aube ist ein superschneller Node.js-Paketmanager von en.dev, veröffentlicht unter der MIT-Lizenz. „Aube“ steht für Morgendämmerung (französisch) und wird „ohb“ ausgesprochen. Das Projekt ist aktuell in der Beta (v1.0.0-beta.10) und strebt pnpm v11-Kompatibilität als oberstes Ziel an.
Das Konzept: Aube nutzt das gleiche On-Disk-Modell wie pnpm – also globalen, inhaltsadressierbaren Store plus isoliertes Symlink-Layout. Die Installations-Engine ist jedoch nativ und mehrthreaded, nicht in JavaScript. Ergebnis: Gleiches Layout, viel schnellere Engine. Lockfiles wie pnpm-lock.yaml werden vollständig unterstützt.
Der große Vorteil: Aube liest und schreibt alle gängigen Lockfiles (pnpm-lock.yaml, package-lock.json, npm-shrinkwrap.json, yarn.lock, bun.lock). Du kannst lokal Aube nutzen, während CI weiter pnpm verwendet.
Aube-Benchmarks: Wie schnell ist „am schnellsten“?
Getestet wurde an einem realen Projekt mit ca. 1.400 Paketen, gemessen mit hyperfine. Basis: festgeschriebene Lockfile, mit warmem und kaltem Cache verglichen.
Zahlen aus den offiziellen Benchmarks:
| Szenario | aube | bun | pnpm | yarn | npm |
|---|---|---|---|---|---|
| CI-Installation (warmer Cache, keine node_modules) | 139ms | 416ms | 1.01s | 2.43s | 2.78s |
| CI-Installation (kalter Cache, keine node_modules) | 1.12s | 935ms | 1.57s | 6.60s | 4.21s |
install && run test (bereits installiert) |
21ms | 42ms | 453ms | 351ms | 615ms |
Abhängigkeit hinzufügen (add is-odd) |
209ms | 414ms | 1.33s | 2.55s | 2.89s |
Die warme CI-Installation ist besonders relevant: Aube ist hier 7,3x schneller als pnpm und 3x schneller als Bun. Beim täglichen Entwickeln (install && test) ist Aube mit 21ms praktisch sofort fertig – andere Tools validieren noch die Lockfile.
Bei kaltem Cache liegt Bun minimal vorne, weil dessen Tarball-Abruf extrem optimiert ist. Im Alltag zählt aber der warme Cache.
Alle Benchmarks kannst du lokal per mise run bench aus dem Aube-Repo nachstellen.
Warum ist Aube schneller als pnpm und Bun?
Drei Designentscheidungen sind entscheidend:
Native, multi-threaded Installations-Pipeline:
Bei npm, pnpm und yarn läuft die Engine in Node.js – jeder Hash, jede Tarball-Extraktion, jeder Symlink ist JavaScript-Overhead. Aube lagert das in eine native, mehrthreaded Engine aus. Bun macht ähnliches, liefert aber eine komplette JS-Laufzeit mit.Globaler Store als Standard:
Bei pnpm ist der globale virtuelle Store optional. Aube nutzt ihn immer. Mehrere Projekte teilen sich damit große Abhängigkeiten (React, Vite, TypeScript etc.) und sparen massiv Speicher.Installations-Kurzschluss mit Statusdatei:
aube run testprüft zuerst eine kompakte Statusdatei. Stimmen Hashes, wird direkt ausgeführt – daher 21ms fürinstall && test.
Das ist keine Magie, sondern konsequente Optimierung des bestehenden pnpm-Layouts.
Wie installiere ich Aube?
Empfohlener Weg: mise installieren und global aktivieren:
mise use -g aube
Version prüfen:
aube --version
Alternativen:
- npm:
npm install -g @endevco/aube
- Homebrew (macOS/Linux):
brew install endevco/tap/aube
Projektlokal:
mise use aube
Das sichert die Aube-Version im Projekt (mise.toml). Weitere Optionen findest du in der Aube-Installationsdoku.
Tägliche Befehle, die du brauchst
Aube ist pnpm-kompatibel aufgebaut:
aube install # Abhängigkeiten installieren
aube add react # Dependency hinzufügen
aube add -D vitest # Dev-Dependency hinzufügen
aube remove react # Dependency entfernen
aube update # Paketupdates im Range
aube run build # package.json-Skript ausführen
aube test # Test-Skript, inkl. ggf. Installation
aube exec vitest # Lokales Binary ausführen
aube dlx cowsay hi # Paket in Throwaway-Umgebung ausführen
aube ci # Clean, frozen install für CI
Abkürzungen:
aube dev = aube run dev (wenn Skript existiert)
Es gibt auch Multicall-Shims:
aubr build # aube run build
aubx cowsay hi # aube dlx cowsay hi
Für CI:
Nutze aube ci. Das entfernt node_modules, prüft die Lockfile und installiert dann. Bei Abweichungen schlägt es fehl – ideal für Pipelines.
Lockfile-Kompatibilität
Aube liest und schreibt alle gängigen Lockfiles:
| Lockfile | Liest | Schreibt an Ort und Stelle |
|---|---|---|
aube-lock.yaml |
ja | ja |
pnpm-lock.yaml v9 |
ja | ja |
package-lock.json v2/v3 |
ja | ja |
npm-shrinkwrap.json |
ja | ja |
yarn.lock (classic/berry) |
ja | ja |
bun.lock |
ja | ja |
Praxis:
Team nutzt pnpm → CI bleibt auf pnpm install --frozen-lockfile → Du nutzt lokal aube install. Aube liest und schreibt pnpm-lock.yaml, das Layout bleibt identisch. Keine Migration nötig.
Hinweis:
Alte pnpm v5/v6 Lockfiles zuerst mit pnpm aktualisieren. Yarn PnP-Projekte müssen auf node_modules-Linking umstellen.
Sichere Standardeinstellungen
Supply-Chain-Angriffe nehmen zu (npm Supply Chain Security Guide, Axios npm-Kompromiss).
Aube setzt deshalb auf folgende Defaults:
- Mindestalter für Releases: Neue Releases müssen ein konfigurierbares Mindestalter erfüllen, bevor sie installiert werden.
- Blockierung exotischer Abhängigkeiten: Verdächtige Abhängigkeitsformen (komische URLs, Git-Refs) werden blockiert, außer du genehmigst sie.
-
Genehmigung von Lifecycle-Skripten:
postinstall-Skripte werden standardmäßig übersprungen. Du genehmigst sie gezielt mitaube approve-builds.
So bekommst du informierte Kontrolle über Codeausführung bei Installationen.
Node-Module-Layout
Aube nutzt ein isoliertes node_modules-Layout:
- Top-Level: direkte Dependencies
-
node_modules/.aube/: transitive Abhängigkeiten - Pakete selbst:
~/.local/share/aube/store/(nach XDG_DATA_HOME)
Vorteile:
- Mehrere Projekte teilen große Pakete (kein Mehrfach-Lodash)
- Phantom-Abhängigkeiten sind erschwert
- Installationen sind fast nur Hard-Links, keine erneute Kopie
Falls du von klassischem npm/yarn v1 kommst:
Fehlende Pakete in package.json nachtragen!
Workspaces & Monorepos
Aube unterstützt Workspaces und das workspace:-Protokoll:
aube install -r
aube run test -r
aube add zod --filter @acme/api
Bestehende pnpm-workspace.yaml werden gelesen/geschrieben, neue Workspaces nutzen aube-workspace.yaml. Flags wie -r und --filter funktionieren wie bei pnpm – auch für Turborepo und nx.
Tipp:
Gerade bei API-Monorepos mit vielen Paketen sparst du mit Aube in jeder CI-Runde echte Minuten.
Aube im API-Entwicklungs-Workflow
Beim API-Design und Testing sind schnelle Installs der Engpass jedes Refactorings. Typischer Ablauf:
- API in Apidog entwerfen und mocken (Schema-first).
- Typisierten Client generieren oder Vertragstests gegen Apidog-Mock fahren.
- Lokal mit Aube installieren, um Millisekunden-Feedbackloops zu haben.
- CI mit
aube cianbinden.
Der Tooling-Wechsel von Postman weg zeigt: Entwickler bevorzugen schnelle, sichere Tools. Nutzt du Apidog in VS Code, ist Aube mit einer Zeile integriert und spart Zeit bei jedem Hot-Reload.
Migration von jedem Paketmanager
Von npm:
aube install ausführen. Aube liest und schreibt package-lock.json. Beachte: Isoliertes node_modules-Layout – Phantom-Imports ggf. nachpflegen. npm-User-Guide
Von pnpm:
Einfach: Aube liest pnpm-lock.yaml v9, workspace:-Protokoll und Filter bleiben erhalten. pnpm-User-Guide
Von yarn:
Aube liest v1 Classic und v2+ Berry Lockfiles. Yarn PnP-User müssen auf nodeLinker: node-modules wechseln.
Von Bun:
Aube liest bun.lock. Buns Paketmanager ist eng mit der JS-Laufzeit verbunden, Aube ist eigenständig. Mit mise funktioniert das Setup analog.
Praktische Überlegungen
Beta-Status:
(April 2026: v1.0.0-beta.10)
Aube ist stabil, aber neu. Zuerst lokal testen, Lockfiles behalten, CI noch nicht sofort umstellen.
Nicht im Umfang:
Aube deckt keine Laufzeitverwaltung ab – das macht mise. Registry-Helper wie whoami oder search sind Stubs und verweisen auf npm.
Plattformen:
Empfohlen ist mise (macOS, Linux, Windows/WSL). Native Windows-Unterstützung ist noch jung – aktuelle Matrix siehe Installationsseite.
Community:
Aktiver Discord, 325 GitHub-Sterne (Stand Erstellung), CI via Buildkite.
FAQ
Was bedeutet „aube“?
Morgendämmerung, französisch. Ausgesprochen „ohb“. Slogan: „eine neue Morgendämmerung für Node-Installationen“.
Ist Aube ein Drop-in-Ersatz für pnpm?
Fast: pnpm v11-kompatibel, liest/schreibt Lockfile, Workflows weitgehend identisch.
Kann ich Aube in CI nutzen, während lokal pnpm läuft?
Ja, beide Richtungen funktionieren. Beide Tools teilen sich pnpm-lock.yaml. Gängig: Erst Aube lokal, dann in CI – ohne Migrationsdruck.
Wie verhält sich Aube zu Bun?
Aube ist bei warmen Installs etwa 3x schneller als Bun. Bei kaltem Cache liegt Bun minimal vorne. Bun liefert eine JS-Laufzeitumgebung mit, Aube fokussiert nur auf Installation. Vergleich isoliertes Layout.
Funktioniert Aube unter Windows?
Über WSL ja. Native Unterstützung ist noch im Ausbau. mise ist der empfohlene Weg.
Ist Aube Open Source?
Ja, MIT-Lizenz, Quellcode auf GitHub.
Was passiert mit meiner bestehenden pnpm-lock.yaml?
Aube liest und schreibt sie, alle Änderungen landen wie gewohnt im Lockfile.
Fazit
Für die meisten Node-Projekte 2026 ist der Installationsschritt zu langsam. Aube ist aktuell der schnellste Paketmanager für warme Installs und wiederholte Workflows: 139 ms CI-Install mit 1.400 Paketen, 21 ms für install && test ohne Änderungen, 90 % weniger Speicher bei mehreren Projekten. Bestehende Lockfiles werden unterstützt, Sicherheitsstandards sind hoch, und ein Test kostet nur eine Zeile mise use aube.
Wenn du APIs bereits mit einem schnellen, lokalen Client wie Apidog testest, ist Aube das passende Gegenstück für den Installationsschritt. Lade Apidog herunter, kombiniere es mit Aube für deinen nächsten Node-Service und erlebe einen viel schnelleren Feedback-Loop.


Top comments (0)