composer show vendor/package-name 可查看已安装包的完整元数据,包括版本、依赖、autoload 配置等;加 --all 可查未安装包的远程信息,--format=json 支持结构化输出。

直接用 composer show 加包名就能看到完整元数据,不需要装额外插件或改配置。
查某个包的版本、依赖和 autoload 配置
运行 composer show vendor/package-name(比如 composer show monolog/monolog)会列出:当前安装版本、描述、关键词、homepage、源码仓库地址、autoload 规则(psr-4 映射、files 列表)、require 和 require-dev 依赖项。注意:它只显示已安装在 vendor/ 下的包;如果包没装过,会报错 Package vendor/package-name not found。
- 想看未安装的包信息?先加
--all参数:composer show --all vendor/package-name - 输出太长看不清?加
-s(short)精简为一行摘要,或用less分页:composer show monolog/monolog | less - autoload 里出现
classmap而不是psr-4?说明该包用了传统类映射,可能影响 IDE 自动补全精度
区分本地安装 vs 远程包信息
composer show 默认查本地 vendor/ 中已安装的包。但加上 --all 后,它会跳过本地检查,直接查 Packagist API,所以能显示未安装包的最新稳定版、支持的 PHP 版本范围(php >=7.4)、是否废弃(abandoned 字段)、以及是否有替代包(replaced by)。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 不加
--all时,type字段显示的是你本地安装时解析出的类型(如library),加了之后才是包注册时定义的原始type - 远程查询受网络和 Packagist 状态影响,偶尔会超时;可加
-v看详细请求过程 - 某些私有包(非 Packagist 托管)即使加
--all也查不到,除非你已配置对应仓库源
用 JSON 格式导出方便脚本处理
加 --format=json 可输出结构化数据,适合 CI 脚本或自动化分析。例如:composer show monolog/monolog --format=json 返回标准 JSON,含 name、version、require、autoload 等字段。
-
autoload里的psr-4是个对象,键是命名空间前缀,值是相对路径(如"Monolog\": "src/") - 若包声明了
bin(如phpunit/phpunit的phpunit),会在bin字段列出可执行文件路径 - JSON 不包含颜色和缩进,但可用
jq美化:composer show monolog/monolog --format=json | jq '.'
真正容易被忽略的是:当你在子目录(比如 packages/my-component)下运行 composer show,它默认读取当前目录的 composer.json —— 如果那里没定义 repositories 或没 require 目标包,--all 也可能查不到私有源的包。得确认命令执行位置和项目上下文是否匹配。










