composer show 必须加 -s 才能查看已安装包的完整元数据(如 autoload、require、author 等),且包名需全小写并带 vendor/ 前缀;查依赖树用 --tree,查反向依赖用 why --tree,查所有远程版本用 --all。

composer show 是查包详情最直接的命令,但不加参数或参数用错,基本等于白跑——它默认只输出一行版本号,连作者、autoload、require 都不显示。
查已安装包的完整元数据必须加 -s
运行 composer show monolog/monolog 只会输出 monolog/monolog 3.5.0。真正要看 autoload 映射(比如 "Monolog\": "src/")、require 列表、homepage、author 或 source 字段,必须加 -s(即 --summary):
- 包名必须全小写、带 vendor/ 前缀,
composer show Monolog/Monolog或composer show monolog都会报错 - 如果包只在
require-dev里,且你装时用了--no-dev,composer show就查不到它 -
source字段只对本地已安装包有效;未安装的包,--all也拿不到 source/dist 信息
看依赖树得用 --tree,不是 composer tree
composer show --tree guzzlehttp/guzzle 展示的是这个包「拉了谁进来」的向下依赖链,缩进表示层级。注意:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 输出基于当前
composer.lock快照,被约束排除的候选版本不会出现 - 不加包名会输出整个项目的依赖树,几百行起步,建议加包名聚焦
-
composer tree是旧插件残留命令,Composer 2.0+ 已废弃,别用 - 想查「谁依赖了它」,得用
composer why --tree guzzlehttp/guzzle,不是show --tree
查远程所有版本要用 --all,不是 --remote
composer show --all guzzlehttp/guzzle 会实时请求 Packagist API,列出所有发布过的 tag 和分支(如 v7.9.0、dev-main)。关键点:
-
--all(双横线)是正确参数,-a在 Composer 2.2+ 中已被弃用 -
--remote只返回 Packagist 上标记为 latest 的那个版本详情,不是全部 - 包名拼错(如
guzzlehttp/guzle)时,默认静默失败,必须加-v才能看到Package not found - 未安装的包,
--all能查版本列表,但查不到 autoload 或 require 等本地元数据
真正复杂的地方在于:Composer 的依赖解析是动态快照,composer show 输出的是 vendor/ 和 composer.lock 当前状态,不是理论可能;而包作者填的 homepage 或 author 字段,可能为空、错填、或指向非文档页——这些都得靠人眼交叉验证,命令本身不会替你判断真假。

















