Der bun why-Befehl erklärt, warum ein Paket in Ihrem Projekt installiert ist, indem er die Abhängigkeitskette anzeigt, die zu seiner Installation geführt hat.
Verwendung
bash
bun why <Paket>Argumente
<Paket>: Der Name des zu erklärenden Pakets. Unterstützt Glob-Muster wie@org/*oder*-lodash.
Optionen
--top: Zeigt nur Abhängigkeiten auf oberster Ebene statt des vollständigen Abhängigkeitsbaums.--depth <Zahl>: Maximale Tiefe des anzuzeigenden Abhängigkeitsbaums.
Beispiele
Überprüfen, warum ein bestimmtes Paket installiert ist:
bash
bun why reacttxt
react@18.2.0
└─ my-app@1.0.0 (requires ^18.0.0)Überprüfen, warum alle Pakete mit einem bestimmten Muster installiert sind:
bash
bun why "@types/*"txt
@types/react@18.2.15
└─ dev my-app@1.0.0 (requires ^18.0.0)
@types/react-dom@18.2.7
└─ dev my-app@1.0.0 (requires ^18.0.0)Nur Abhängigkeiten auf oberster Ebene anzeigen:
bash
bun why express --toptxt
express@4.18.2
└─ my-app@1.0.0 (requires ^4.18.2)Die Tiefe des Abhängigkeitsbaums begrenzen:
bash
bun why express --depth 2txt
express@4.18.2
└─ express-pollyfill@1.20.1 (requires ^4.18.2)
└─ body-parser@1.20.1 (requires ^1.20.1)
└─ accepts@1.3.8 (requires ^1.3.8)
└─ (deeper dependencies hidden)Die Ausgabe verstehen
Die Ausgabe zeigt:
- Den Namen und die Version des abgefragten Pakets
- Die Abhängigkeitskette, die zu seiner Installation geführt hat
- Den Typ der Abhängigkeit (dev, peer, optional oder production)
- Die Versionsanforderung, die in den Abhängigkeiten jedes Pakets angegeben ist
Bei verschachtelten Abhängigkeiten zeigt der Befehl standardmäßig den vollständigen Abhängigkeitsbaum an, wobei die Einrückung die Beziehungshierarchie angibt.