Skip to main content
bun why 命令通过显示导致某个包被安装的依赖链,来解释该包为何会被安装在你的项目中。

用法

terminal
bun why <package>

参数

  • <package>:需要解释的包名。支持类似 @org/**-lodash 的通配符模式。

选项

  • --top:只显示顶层依赖,而不是完整的依赖树。
  • --depth <number>:显示依赖树的最大层级深度。

示例

检查某个特定包为何被安装:
terminal
bun why react
[email protected]
  └─ [email protected] (requires ^18.0.0)
检查所有符合特定模式的包为何被安装:
terminal
bun why "@types/*"
@types/[email protected]
  └─ dev [email protected] (requires ^18.0.0)

@types/[email protected]
  └─ dev [email protected] (requires ^18.0.0)
只显示顶层依赖:
terminal
bun why express --top
[email protected]
  └─ [email protected] (requires ^4.18.2)
限制依赖树的显示深度:
terminal
bun why express --depth 2
[email protected]
  └─ [email protected] (requires ^4.18.2)
     └─ [email protected] (requires ^1.20.1)
     └─ [email protected] (requires ^1.3.8)
        └─ (更深的依赖被隐藏)

理解输出内容

输出显示:
  • 被查询的包名和版本
  • 导致该包安装的依赖链
  • 依赖的类型(开发依赖 dev、同行依赖 peer、可选依赖 optional 或生产依赖 production)
  • 每个包依赖中指定的版本要求
对于嵌套依赖,命令默认显示完整的依赖树,缩进表示层级关系。