bun why コマンドは、パッケージのインストールにつながった依存関係のチェーンを表示することで、プロジェクトにパッケージがインストールされている理由を説明します。
使用方法
bash
bun why <package>引数
<package>: 説明するパッケージの名前。@org/*や*-lodashのような glob パターンをサポートしています。
オプション
--top: 完全な依存関係ツリーではなく、トップレベルの依存関係のみを表示します。--depth <number>: 表示する依存関係ツリーの最大深度。
例
特定のパッケージがインストールされている理由を確認します。
bash
bun why reacttxt
react@18.2.0
└─ my-app@1.0.0 (^18.0.0 が必要)特定のパターンのすべてのパッケージがインストールされている理由を確認します。
bash
bun why "@types/*"txt
@types/react@18.2.15
└─ dev my-app@1.0.0 (^18.0.0 が必要)
@types/react-dom@18.2.7
└─ dev my-app@1.0.0 (^18.0.0 が必要)トップレベルの依存関係のみを表示します。
bash
bun why express --toptxt
express@4.18.2
└─ my-app@1.0.0 (^4.18.2 が必要)依存関係ツリーの深度を制限します。
bash
bun why express --depth 2txt
express@4.18.2
└─ express-pollyfill@1.20.1 (^4.18.2 が必要)
└─ body-parser@1.20.1 (^1.20.1 が必要)
└─ accepts@1.3.8 (^1.3.8 が必要)
└─ (より深い依存関係は非表示)出力の理解
出力には次の内容が表示されます。
- クエリ対象のパッケージ名とバージョン
- そのインストールにつながった依存関係のチェーン
- 依存関係のタイプ(dev、peer、optional、または production)
- 各パッケージの依存関係で指定されたバージョン要件
ネストされた依存関係の場合、コマンドはデフォルトで完全な依存関係ツリーを表示し、インデントによって関係の階層を示します。