直接运行 composer show 不带参数只显示已安装包简表,不含 authors 字段;查作者必须指定完整 vendor/package-name,且结果取决于该包 composer.json 中是否声明 authors 数组。

直接运行 composer show 不会显示作者信息
很多人输完 composer show 就盯着满屏包名发呆,以为能顺带看到作者——其实不会。这个命令不带参数时只输出简表:vendor/package-name 1.2.3,连 description 都不展开,更别说 authors 字段了。它本质是快速列表,不是详情查看器。
想批量看作者?没捷径。Composer 没提供“列出所有包 + 全部 authors”的一键命令。你必须逐个查,或写脚本解析。
-
composer show输出里压根没有authors这一行,这是设计使然,不是你漏看了 - 如果真想扫一遍,可用
composer show --list(仅 Composer 2.5+)先拿到所有已安装包名,再循环调用composer show vendor/package - 注意:
--list只返回包名,不含版本号;若需版本对齐,得从composer.lock或vendor/composer/installed.json读取
composer show vendor/package 是唯一靠谱的单包作者查询方式
查某个具体包的作者,必须指定完整 vendor/package 名,比如 monolog/monolog。漏掉 vendor、大小写错、用下划线代替斜杠,都会报 Package not found。
输出中是否出现 authors 行,完全取决于该包当前已安装版本的 composer.json 是否定义了 "authors" 数组。没填就是不显示,不是命令失效。
- 常见空值表现:
authors : []或整行缺失;有些包只写"author": "Symfony Community"(单字符串),composer show仍会识别并输出 -
homepage和source.url(加-s参数才显示)往往比authors更实用——点进去才能看到真实贡献者列表 - 别用
composer info:它在 Composer 2.2+ 已彻底废弃,执行即报错Command "info" is not defined
批量提取作者信息只能靠脚本或 API
手动一个一个敲 composer show 不现实。真正落地的做法只有两个方向:本地解析或远程拉取。
本地方案最稳但受限于已安装内容:vendor/composer/installed.json 里每个包对象都含 authors 字段(如果源 composer.json 有填)。可用 jq 快速提取:
jq -r '.packages[] | select(.authors != null and (.authors | length > 0)) | "\(.name) → \(.authors[0].name // \"N/A\")"' vendor/composer/installed.json
远程方案适合预评估未安装包,但依赖 Packagist API 一致性:
curl -s "https://packagist.org/packages/vendor/package.json" | jq '.package.authors'- 国内镜像可能不同步
maintainers字段,而authors相对稳定;但注意maintainers≠authors,前者才是当前有发布权限的人 - 自动化脚本里别用
composer search找作者——它根本不索引authors字段,搜john doe无效
作者字段和真实贡献者完全是两回事
看到 authors 里写着三个人名,不代表他们现在还在维护。这个字段是静态声明,来自包发布时的 composer.json,和 Git 提交历史零关联。
一个包的 authors 可能只列创始人,而 GitHub Contributors 页面有 372 人提交过代码。真要确认谁在活跃维护,必须跳转到 source.url(用 composer show -s vendor/package 拿到),然后看仓库最近半年的 commit 记录和 PR 合并频率。
- 有些包类型为
metapackage或project,authors和source都为空,因为它们不提供实际代码 - PSR 规范包(如
psr/log)、CI 自动发布的工具链包,普遍不填authors,别因此怀疑质量 - 邮箱字段常为空或用
noreply@github.com占位,别指望靠它联系上人;优先看support字段里的 issue 模板或 Discord 链接











