composer show 是最直接、最可靠的方式,它读取 vendor/composer/installed.json,不联网、不依赖锁文件,只要 vendor/ 目录存在就能立刻给出真实安装版本;默认输出顶层依赖(require / require-dev 中声明且已安装的包),格式为 vendor/package → version,加 -s 可查看 autoload、作者等完整元数据,加 --tree 可查依赖树,包名须严格匹配 vendor/package-name 格式。

composer show 是最直接、最可靠的方式,它读取 vendor/composer/installed.json,不联网、不依赖锁文件,只要 vendor/ 目录存在就能立刻给出真实安装版本。
查全部已安装包的版本号(一行一个)
在项目根目录(含 composer.json)下运行:
composer show
输出格式是 vendor/package → version,比如:
monolog/monolog → 3.5.0<br>psr/log → 3.0.0<br>symfony/console → v6.4.7
- 只显示你手动写在
composer.json的require和require-dev里的包(顶层依赖),不展开子依赖 - 如果之前用了
composer install --no-dev,require-dev里的包不会出现 - 包名必须带
vendor/前缀且大小写严格匹配,monolog/monolog可以,Monolog/monolog或monolog都会报Package not found
查某个包的完整版本和元数据
加包名能拿到更关键的信息:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer show monolog/monolog
默认只输出一行版本,但加上 -s 就能看到 autoload 映射、require 列表、作者、许可证等:
composer show -s monolog/monolog
-
-s(--summary)是排查“类找不到”问题的核心——它告诉你 PSR-4 自动加载路径是否正确 - 若包未安装,会明确提示
Package monolog/monolog is not installed,不会静默失败 - 想看依赖树(比如确认
psr/log是被谁拉进来的),用composer show --tree monolog/monolog,不是composer show monolog/monolog --tree
导出纯文本清单用于审计或 CI 校验
别手写脚本解析 composer.lock——它的结构在 Composer 2.x 和 3.x 之间不稳定。用 composer show 自带格式更稳:
- 只导出你亲手
require的包(不含子依赖):composer show --direct --format=plain - 导出完整树形结构供人工审阅:
composer show --tree --format=txt > dependencies.txt - 导出 JSON 便于程序处理:
composer show --format=json,配合jq提取字段,例如composer show --format=json | jq '.[] | select(.name == "monolog/monolog") | .version'
注意:所有这些命令都依赖 vendor/ 目录存在且未被删改;如果 vendor/ 是空的或刚删过,composer show 会报错或返回空,此时得先 composer install。










