Composer怎么修改项目作者信息_Composer.json元数据配置【说明】

1次阅读

作者信息必须写在composer.json的authors数组字段中,每个对象至少含合法name字符串和可选email、homepage;改后需validate验证并打新tag同步至Packagist。

Composer怎么修改项目作者信息_Composer.json元数据配置【说明】

项目作者信息不写在 composer.json 里,根本不会被 Packagist 或其他工具识别——它必须放在 authors 字段中,且格式严格,否则 composer validate 会报错或被忽略。

author 字段必须是数组,不能是字符串

很多人直接写 "author": "Your Name",这会导致验证失败或元数据丢失。Composer 要求 authors 是一个对象数组,每个对象至少包含 name 字段,emailhomepage 为可选。

  • name 是必填项,类型为字符串
  • email 格式需合法(如 user@example.com),否则某些 CI 工具会警告
  • 多个作者就写多个对象,不要合并成一个字符串
{   "authors": [     {       "name": "Alice Chen",       "email": "alice@example.com",       "homepage": "https://alice.dev"     },     {       "name": "Bob Lin",       "email": "bob@example.org"     }   ] }

修改后要重新 validate 和 dump-autoload(如有必要)

改完 composer.json 不等于信息立刻生效。Packagist 在你提交包时才读取该字段;本地开发中,composer validate 可快速检查格式是否合规。如果项目是作为依赖被其他项目引用,且你启用了 autoload 的 classmap 或 psr-4 映射,一般无需重生成 autoload,但建议执行:

  • composer validate --strict 确保无隐藏格式问题
  • composer dump-autoload -o(仅当 autoload 配置本身有变更时才需要)

packagist.org 同步作者信息的两个前提

Packagist 不会主动抓取你本地 composer.json 的改动。要让作者信息出现在包页面上,必须满足:

  • 你的包已通过 gitHub/gitlab 等平台自动 hook 推送,或手动触发 sync
  • 新版本 tag 已打,并且该 tag 对应的 composer.jsonauthors 字段已正确填写

注意:编辑旧 tag 的 composer.json 并重新推送不会更新 Packagist 页面——tag 是不可变的,必须发新 tag(如从 v1.2.3 升级到 v1.2.4)。

最容易被忽略的是数组结构和 tag 不可变性。很多人改完 JSON 就以为完了,结果 Packagist 还显示旧作者,其实是没发新版本,或者把 authors 写成了 author 单数形式。

text=ZqhQzanResources