composer如何查看某个扩展包的作者与贡献者信息_composer查看包详情【指南】

9次阅读

composer show 是唯一可靠、直接、无需额外工具就能查到包作者与贡献者信息的命令,它读取已安装包或远程最新版 composer.json 中根级 authors 数组内容,该字段需手动配置且仅反映发布版本声明,不自动关联 git 提交记录。

composer如何查看某个扩展包的作者与贡献者信息_composer查看包详情【指南】

composer show 是唯一可靠、直接、无需额外工具就能查到包作者与贡献者信息的命令。

composer show 查已安装包的作者信息

只要包已通过 composer require 安装进当前项目,运行以下命令即可看到 authors 字段内容:

composer show monolog/monolog

输出中会明确列出 authors 一栏,例如:

authors  ! John Doe   ! Jane Smith 
  • 该信息完全来自包的 composer.json 中的 authors 数组,不是 Git 提交记录自动提取的
  • 如果作者字段为空或格式错误(比如写成 "author": "xxx"),这里就会显示 authors : [] 或直接不显示
  • 注意:它只显示当前已安装版本的 authors —— 如果你本地装的是 v2.8.0,就不会反映 v2.9.0 新增的贡献者

composer show --remote 查远程最新版作者

即使没安装某个包,也能看它在 Packagist 上最新版的作者信息:

composer show --remote laravel/framework

这个命令会向 Packagist API 请求最新稳定版(如 v11.0.0)的元数据,并展示其 composer.json 中定义的 authors

  • 适用于选型阶段快速判断维护活跃度或团队背景
  • 若返回中没有 authors,说明该包未在 composer.json 中声明,Packagist 页面也会显示 “No authors listed”
  • 不支持指定任意历史版本(如 --remote --version=v9.5.0),只能查最新版

为什么 authors 字段常为空?常见配置错误

作者信息不会自动生成,必须手动写进 composer.json 根层级的 authors 数组里 —— 这是 Composer 的硬性约定,不是可选项。

  • ❌ 错误写法:"author": "Tom""contributors": [...] —— Composer 完全忽略,composer show 不会显示
  • ❌ 错误嵌套:"extra": { "authors": [...] } —— 同样无效,authors 必须在根级
  • ✅ 正确结构:必须是数组,每个元素至少含 name 字段,emailhomepage 可选但强烈建议补全
  • ⚠️ 注意:修改 composer.json 后不发新版本,composer show --remote 看不到更新 —— Packagist 只读取已发布的版本快照

想确认某人是否真参与过开发?别只信 authors

authors 是主观声明,不是贡献审计。它反映的是“谁愿意被列为作者”,而非“谁提交过代码”。

  • Git 历史才是真实依据:用 git shortlog -sne --no-merges 查仓库实际提交者
  • composer show 不会显示 role、头像、github 用户名等扩展信息 —— 即使你在 composer.json 里写了 "role": "maintainer",它也不会出现在输出里
  • 若需权威贡献追溯,应结合 composer show --remote + 包主页链接(homepage)+ GitHub/gitlab 仓库的 CONTRIBUTORSCODEOWNERS 文件

真正容易被忽略的一点:Packagist 展示的作者,和 composer show 输出的作者,都只取决于那个特定版本发布时的 composer.json —— 它不会动态聚合所有历史提交者,也不会自动同步你的 Git 配置。想让人看到新贡献者?必须改 composer.json,然后发个新版。

text=ZqhQzanResources