如何为你的Composer包设置官方的support渠道信息? (composer.json)

12次阅读

support字段必须是含预定义键的对象,否则Packagist不显示;有效键名仅限email、issues、source等8个,其中issues和source最优先,且URL须完整、source需与repository一致,修改后须发新tag才能生效。

如何为你的Composer包设置官方的support渠道信息? (composer.json)

composer 包的 support 字段不是可有可无的装饰项,它直接出现在 Packagist 页面的「Support」栏,影响用户第一眼能否快速联系到你——但填错格式或用错键名,这个区块就根本不会显示。

support 字段必须是对象,且只认预定义的几个键名

Composer 官方只识别以下固定键名:emailissuessourceforumwikiircchattwitter。任何自定义键(比如 discordslack)会被完全忽略,Packagist 不渲染也不报错。

常见错误是写成字符串或数组:

"support": "https://github.com/you/package/issues" // ❌ 错误:必须是对象

正确写法示例:

"support": {     "issues": "https://github.com/you/package/issues",     "source": "https://github.com/you/package",     "email": "support@you.example.com" }

issues 和 source 是最值得优先填的两个字段

Packagist 会为 issues 自动生成「Report issues」按钮,为 source 生成「Source」链接——这两个是用户点击率最高的入口。如果只填一个,优先填 source,因为 Packagist 依赖它来抓取最新 tag 和更新 README。

  • issues 值必须是完整 URL(含 https://),不能是相对路径或 GitHub short link(如 github.com/you/repo
  • source 必须指向可 clone 的仓库地址,且需与 repository 字段一致,否则 Packagist 同步可能失败
  • email 建议使用专用支持邮箱,避免暴露个人邮箱;若不希望公开,可留空或省略该键

chat / irc 字段对实时支持有意义,但要注意协议前缀

如果你提供 Discord、Matrix 或 Slack 支持,得用 chat 键,并确保 URL 可直接打开(例如 Discord invite 链接):

"support": {     "chat": "https://discord.gg/abc123",     "issues": "https://github.com/you/package/issues" }

irc 键仅用于传统 IRC,格式为 irc://irc.libera.chat:6667/#channel ——少写 irc://端口错误,链接在 Packagist 上就变成纯文本,无法点击。

注意:discordslack 这类自定义键名无效,别试图绕过规范。

最容易被忽略的是:修改 composer.json 后,必须推送新 tag(或至少触发 Packagist webhook),否则 Packagist 页面不会更新 support 区块——改完文件不发版,等于没改。

text=ZqhQzanResources