使用composer show --tree命令可查看项目依赖树结构,展示已安装包及其层级关系;指定包名如guzzlehttp/guzzle则仅显示该包依赖树;结合--direct选项可只查看直接依赖,辅助分析项目引用情况。

要查看 Composer 项目中的依赖树结构,可以使用 composer show 命令配合相关选项来展示已安装的包及其依赖关系。
查看所有已安装包的依赖树
运行以下命令可以显示当前项目中所有已安装的包以及它们的依赖层级:
composer show --tree
这会以树状结构列出每个顶级包,并展开其依赖项。例如输出可能类似:
- monolog/monolog
- psr/log
- php >=7.2
- symfony/http-foundation
- symfony/polyfill-mbstring
查看某个特定包的依赖信息
如果你想查看某一具体包所依赖的内容,可指定包名:
composer show --tree vendor/package-name
比如:
composer show --tree guzzlehttp/guzzle
它将只展示 Guzzle 及其下层依赖的树形结构。
查看未锁定或远程可用的依赖(可选)
默认情况下,composer show 显示的是已安装的本地包。若想查看远程仓库中可用的包版本信息,加上 --all 或针对具体包使用:
composer show --remote --tree vendor/package-name
注意:远程模式不会反映你项目当前的实际依赖结构,仅用于查阅。
常用组合建议
- composer show --tree:快速审查项目依赖是否合理,发现潜在冲突或重复加载。
- composer show --direct --tree:只看直接依赖(即 composer.json 中明确列出的),帮助理清项目顶层引用。
- 结合 grep 过滤关键字,如:composer show --tree | grep laravel,便于在大型项目中查找特定依赖。
基本上就这些。通过树状视图能更清楚地理解项目中各个组件之间的依赖关系,对优化和调试都有帮助。










