如何查看某个 Composer 包都依赖了哪些其他的包?

5次阅读

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

如何查看某个 Composer 包都依赖了哪些其他的包?

直接用 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 里声明了但没 installupdate 过。此时可以:

  • 先运行 composer installcomposer update vendor/package-name
  • 或者用 composer depends vendor/package-name 反向查谁依赖它(适合调试冲突)

基本上就这些。不复杂但容易忽略的是:必须在项目根目录下执行,且依赖信息来自已安装的 vendor,不是纯 配置文件

以上就是如何查看某个 Composer 包都依赖了哪些其他的包?的详细内容,更多请关注 php 中文网其它相关文章!

站长
版权声明:本站原创文章,由 站长 2025-12-15发表,共计991字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources