composer show --tree 以树状结构展示项目依赖关系,帮助查看包的嵌套引用、排查冲突、优化加载。例如可发现重复依赖或冗余库,并支持指定包名查看具体依赖树,辅助代码审查与问题诊断。

composer show -t 并不是一个标准的 Composer 命令选项,实际上这个命令可能会让人误解。我们来拆解一下:composer show 是用来查看已安装包的信息,而 -t 通常是 --tree 的缩写,所以 composer show -t 实际上等同于 composer show --tree,它的主要作用是以树状结构显示依赖关系。
当你执行 composer show --tree,它会把当前项目中所有已安装的包,以及它们各自的依赖,用缩进的层级结构展示出来。比如:
这种结构能让你一眼看出哪个包引用了哪个,有助于理解项目的整体依赖脉络。
当多个包依赖同一个库的不同版本时,容易引发问题。使用 --tree 可以直观看到哪些包引入了 psr/log、symfony/polyfill-* 等常见库,帮助你判断是否有必要调整版本约束或发现潜在冲突。
例如,你发现两个组件都依赖 guzzlehttp/guzzle,但层级不同,可能意味着存在冗余或版本不一致,这时就可以结合 composer why 或 composer depends 进一步分析。
在接手一个陌生项目时,运行 composer show --tree 能快速掌握技术栈构成。你不需要一个个点进 vendor 目录,就能知道框架核心、工具库、第三方服务 SDK 是如何嵌套引用的。
如果发现某个小工具包引入了一大堆你不想要的子依赖,可以考虑寻找更轻量的替代方案。
这个命令也支持指定包名,比如:
这对调试测试环境特别有用,因为 PHPUnit 本身依赖较多组件,树状图能帮你理清加载路径。
基本上就这些。虽然看起来只是个简单的可视化功能,但在实际开发中,它能帮你更快地理清依赖逻辑,避免“为什么这个类找不到”或者“为啥自动加载这么慢”这类问题。不复杂但容易忽略。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号