Skip to content

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 react
txt
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 --top
txt
express@4.18.2
  └─ my-app@1.0.0 (requires ^4.18.2)

Die Tiefe des Abhängigkeitsbaums begrenzen:

bash
bun why express --depth 2
txt
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.

Bun von www.bunjs.com.cn bearbeitet