composer show --tree 命令以树状结构展示项目依赖关系,主依赖顶格显示,子依赖逐层缩进,竖线与连接符标明从属关系;顶层为项目直接引入的包,下层为其间接依赖,可直观查看嵌套层级与重复依赖;通过指定包名如 monolog/monolog 可过滤输出,精准分析特定库的依赖路径,适用于排查冲突与优化性能。

composer show --tree 命令通过层级缩进的方式展示项目依赖及其嵌套关系,帮助你直观理解每个包依赖了哪些其他包。
依赖树的结构清晰呈现
该命令输出的内容采用树状结构,主依赖顶格显示,其下依赖逐层缩进。每一级用竖线和连接符表示从属关系,视觉上类似文件目录结构,便于追踪依赖来源。
- 顶层是你项目直接 require 的包
- 子层是这些包各自 require 的其他包
- 重复出现的包可能来自不同路径,可发现冗余或冲突
使用示例与输出解读
在项目根目录运行:
composer show --tree输出可能如下:
phpunit/phpunit├─doctrine/instantiator
├─myclabs/deep-copy
│ └─sebastian/exporter
│ └─sebastian/recursion-context
└─sebastian/comparator
└─sebastian/diff
这说明 phpunit 依赖了 doctrine/instantiator 和 myclabs/deep-copy 等,而 deep-copy 又依赖 sebastian/exporter,层层递进。
结合过滤查看特定依赖
如果只想看某个包的依赖树,可以指定包名:
composer show --tree monolog/monolog这样只展示 monolog 及其下所有子依赖,避免信息过载,特别适合排查具体问题。
基本上就这些,这个命令简单但非常实用,尤其在处理版本冲突或优化加载性能时能快速定位依赖路径。









