Composer 无独立作者查询命令,需用 composer show 查看包元数据中的 authors 字段;该字段是否显示取决于包自身 composer.json 是否定义,未填写则为空。

Composer 本身不直接提供“作者信息”字段的独立查询命令,但可以通过 composer show 查看包的完整元数据,其中包含 authors 字段(如果包的 composer.json 中定义了的话)。
用 composer show 查看指定包的详细信息
这是最常用、最可靠的方式。它会输出包的名称、版本、描述、关键词、作者、源地址、autoload 配置等全部注册信息。
- 查看已安装的包:
composer show vendor/package-name - 查看所有已安装包的简略列表:
composer show(不带参数) - 加
-s参数可显示源码仓库地址(如 GitHub URL),有时比作者字段更实用 - 注意:作者信息是否显示,完全取决于该包的
composer.json是否填写了"authors"数组,很多包为空或只写了一个名字没写邮箱
composer show monolog/monolog name : monolog/monolog descrip. : Sends your logs to files, sockets, inboxes, databases and numerous web services keywords : log, logging, psr-3 versions : * 3.5.0 type : library license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText homepage : https://github.com/Seldaek/monolog source : [git] https://github.com/Seldaek/monolog.git 9e7f6a2c9b8a4d1e5a7e9e1b5c7d8e9f0a1b2c3d dist : [zip] https://api.github.com/repos/Seldaek/monolog/zipball/9e7f6a2c9b8a4d1e5a7e9e1b5c7d8e9f0a1b2c3d names : monolog/monologautoload psr-4 Monolog\ => src/
requires php >=8.1
authors Seldaek matthieu@free.fr
为什么 composer show 有时不显示作者?
不是命令失效,而是上游包没填。Composer 不强制要求填 authors,尤其是一些个人维护的小工具包、fork 分支或自建私有包,常省略此项。
- 检查包的
composer.json文件(在vendor/vendor/name/目录下)——直接看原始定义最准 - 运行
composer show -a可显示所有可用字段(包括空字段),但不会补全缺失的作者信息 - 有些包把作者写在
homepage或source的 URL 里,比如https://github.com/twbs/bootstrap中的twbs就是团队名
想批量查多个包的作者?别硬写脚本
没必要用 shell 循环调 composer show,效率低还容易因网络或格式变化出错。更实际的做法是:
- 用
composer show --format=json输出 JSON,再用jq提取作者:composer show --format=json | jq '.packages[].authors' - 注意:JSON 模式下,未定义
authors的包该项为null,jq默认会跳过,需显式处理if .authors then .authors else [] end - 如果你只是审计依赖合规性(比如确认是否含特定公司维护的包),直接搜
vendor/下各包的composer.json更快:grep -r '"authors"' vendor/ --include="composer.json"
真正关键的不是“谁写的”,而是“谁在维护”——看 source 地址和最近 commit 时间比作者字段靠谱得多。很多包作者栏写着十年前的名字,实际维护者早换了。










