直接运行composer show可查看当前项目已安装的所有包及其版本,格式为vendor/name version description,它读取vendor/和composer.lock的真实状态,是最轻量准确的依赖快照;加--no-dev过滤开发依赖,--platform查php及扩展信息,指定包名可看详情,--who查直接依赖者,所有命令均依赖vendor/存在且与composer.lock一致。

直接运行 composer show 就能看到当前项目已安装的所有包及其版本,这是最轻量、最准确的“当前管理依赖”快照。
查全部已安装包:用 composer show,别加参数
它读的是 vendor/ 目录和 composer.lock 的实际状态,不是 composer.json 里写的理想列表。输出每行一个包,格式是 vendor/name version description,一眼能扫清装了啥、装的哪个版本。
- 如果输出为空或报错
Could not find package,先确认vendor/是否存在、composer.lock是否完整——没跑过composer install就不会有真实安装态 - 加
--no-dev可过滤掉require-dev里的包,适合上线前核对生产环境依赖 - 加
--platform能单独列出 PHP、扩展等平台信息(如php 8.2.12、ext-curl [installed]),方便排查兼容性问题
查某个包的详细信息:用 composer show vendor/name
比如 composer show guzzlehttp/guzzle,会显示它的名称、描述、源码地址、关键词、最低 PHP 版本、所有 require 和 require-dev 声明——但注意:这里列的只是它 composer.json 中写的约束(如 "psr/http-client": "^1.0"),不是你本地实际装的版本。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 要看它到底依赖了哪些已安装的包,得用
composer show --tree vendor/name - 如果包名拼错(比如大小写混用、漏了斜杠)、或该包根本没进
vendor/(比如只在require-dev里但当前没装 dev 包),就会报Could not find package - 输出里带
[dev]后缀,说明来自require-dev;不带则属于生产依赖
查谁在依赖某个包:用 composer show --who vendor/name
比如 composer show --who psr/log,会直接列出所有**已安装**且在自己 composer.json 里显式写了 "psr/log" 的包,例如 monolog/monolog、laravel/framework。
- 它不递归展开(比如不会显示
A → B → psr/log中的 A),只返回一级直接声明者,结果干净无歧义 - 想看完整引用链(A → B → C → psr/log),必须用
composer why --tree vendor/name,否则只能看到中间那一层 - 若结果为空,常见原因是:该包是通过
provide声明的虚拟包(如psr/log-implementation),--who不识别这类间接提供关系
真正容易被忽略的是:所有这些命令都依赖 vendor/ 和 composer.lock 的一致性。如果有人手动删过 vendor/ 但没重装,或者改过 composer.json 却忘了 composer update,show 输出的就是过期快照——它反映的是“此刻装了什么”,而不是“应该装什么”。










