composer show 命令可查包依赖:直接运行 composer show vendor/package-name 查一级依赖;加 -t 参数显示完整依赖树;加 –no-ansi 配合 grep 可精简输出;需确保包已安装,否则提示“Package not found”。

直接用 composer show 命令就能查清楚某个包依赖了哪些其他包,不需要手动翻 composer.json 或源码。
查看指定包的直接依赖
运行下面命令,把 vendor/package-name 换成你要查的包名(比如 monolog/monolog):
composer show vendor/package-name
输出里会列出它 直接声明 在 require 字段里的依赖项,也就是它的“一级依赖”。
查看完整的依赖树(含嵌套依赖)
想看到所有层层引用的包,包括间接依赖,用这个命令:
composer show -t vendor/package-name
-t 表示 tree 模式,会以缩进形式展示完整依赖链。比如 symfony/console 可能依赖 symfony/polyfill-mbstring,而后者又依赖 php 版本约束,这些都会显示出来。
只看依赖关系,不显示版本和描述
如果只想快速扫一眼有哪些包被依赖,去掉冗余信息,可以加 --no-ansi 和精简参数:
composer show -t --no-ansi vendor/package-name | grep -E "^[^]"
或者更简单点,先用 composer show -t 查看,再用眼睛或 Ctrl+F 搜索关键词——实际使用中往往比管道过滤更快。
确认包是否已安装再查询
composer show 默认只显示当前项目已安装的包。如果提示“Package not found”,说明这个包没装进 vendor,可能只是在 composer.json 里声明了但没 install 或 update 过。此时可以:
- 先运行
composer install或composer update vendor/package-name - 或者用
composer depends vendor/package-name反向查谁依赖它(适合调试冲突)
基本上就这些。不复杂但容易忽略的是:必须在项目根目录下执行,且依赖信息来自已安装的 vendor,不是纯 配置文件。
以上就是如何查看某个 Composer 包都依赖了哪些其他的包?的详细内容,更多请关注 php 中文网其它相关文章!