composer show monolog/monolog 可查看其一级依赖(即自身require字段声明的包),不递归;composer depends psr/log 查直接使用者,加--tree可展开一层路径;composer tree monolog/monolog(≥2.2)才展示完整传递依赖树,含版本与冲突标记。

用 composer show 查指定包的直接依赖
想快速知道某个包(比如 monolog/monolog)装了哪些“一级依赖”,直接运行:
composer show monolog/monolog它会列出该包的
require 和 require-dev 字段内容,也就是它自己声明要拉哪些包。注意:这不包括这些依赖再往下拉的包,纯属“表面依赖”。
用 composer depends 反查谁依赖了这个包
如果你关心的是“谁在用我”,比如想知道项目里哪些包依赖了 psr/log,就用:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer depends psr/log它会列出所有直接声明依赖
psr/log 的包。加上 --tree 参数可以展开一层:composer depends --tree psr/log但注意:它不会无限递归展示整个树,只显示“谁直接依赖它”,不是“它依赖谁”的逆向展开。
用 composer tree 看完整依赖树(需 Composer 2.2+)
真正要看某个包在整个项目中“被展开成什么样”,得用:
composer tree monolog/monolog这是最接近需求的答案。它会从
monolog/monolog 开始,逐层展开它所有传递依赖(包括版本号和冲突标记)。常见坑点:- 必须是 Composer 2.2 或更高版本,旧版没有这个命令
- 如果项目没 lock 文件或未安装过,可能报错或结果不准
- 输出默认只显示前 3 层,加
--all才展开全部:composer tree --all monolog/monolog
遇到循环依赖或版本冲突时怎么读 composer tree 输出
当某行末尾出现 (conflict) 或 (replaces) 标记,说明该路径存在版本不兼容;如果看到同一包在不同层级重复出现(比如 symfony/console 出现在两处),通常意味着不同父包要求了不同主版本——这时得看具体版本号,再结合 composer why 定位源头约束。别只盯着树形缩进,重点看每个节点后的版本号和括号标注。










