跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何通过Composer.json中的support字段添加文档和Issue链接?

support 字段仅支持预定义键名,实际生效且被 Packagist 渲染的只有 docs 和 issues,二者必须为完整 HTTPS URL;其他键如 source、forum 等不被解析或展示,自定义键名将导致 composer validate 报错。
support
字段本身不支持直接添加文档链接或 Issue 链接——它只接受特定键名,且这些键名是预定义的、硬 编码 在 Composer 的 schema 中的。 support 字段只认这几个键:
docs
、
issues
、
source
、
forum
、
wiki
、
irc
、
twitter
Composer 官方 Schema 明确限定
support
下只允许以下字段(大小写敏感,不能拼错):
docs
:对应项目文档地址,例如
"docs": "https://example.com/docs"
issues
:对应 Issue 跟踪地址(GitHub/GitLab 的 Issues 页面),例如
"issues": "https://github.com/user/repo/issues"
source
:代码仓库地址(不是主页),例如
"source": "https://github.com/user/repo.git"
其他如
forum
、
wiki
等字段虽存在,但不会被 Packagist 或大多数工具解析展示,仅作保留字段 写成
documentation
、
bugtracker
、
help
等自定义键名会被 Composer 忽略,且
composer validate
会报 schema 错误。 实际生效的只有
docs
和
issues
,且仅在 Packagist 页面显示 Packagist 是目前唯一消费
support
字段并公开渲染的平台。它的 前端 只读取并展示:
docs
→ 显示为 “Documentation” 标签页链接
issues
→ 显示为 “Issues” 标签页链接
source
→ 用于生成 “Source” 链接,但仅当未设
homepage
时才可能 fallback 使用 示例正确写法:
{ "support": { "docs": "https://mylib.example.org/guide", "issues": "https://github.com/myorg/mylib/issues" } }
注意:
docs
值必须是完整 URL(含
https://
),否则 Packagist 不识别;
issues
同理,不能写成
"https://github.com/myorg/mylib"
(这是主页,不是 issues 页)。 常见错误:混用
homepage
和
support.docs
,或漏掉协议 这两个字段用途不同,不可互相替代: php版微信js-sdk支付接口类 php版微信js-sdk支付接口类 下载
homepage
是包的主站(通常带介绍、下载、演示等),Packagist 将其显示在包名下方大标题旁
support.docs
是纯文档入口,Packagist 单独列为一个导航标签页 若只填了
homepage
,Packagist 不会自动从它推导出文档链接 若
docs
值是
"./docs"
或
"docs/index.html"
,验证失败且 Packagist 忽略 验证方式很简单:
composer validate
如果字段名拼错或 URL 缺少协议,会提示类似:
[Schema] support: The property docs is not defined and the definition does not allow additional properties.
(字段名错误)
[Schema] support.docs: URL must start with http:// or https://
(协议缺失) 真正起作用的只有
docs
和
issues
这两个键,而且它们只在 Packagist 上可见。本地
composer install
或 IDE 插件完全不读取这个字段——别指望它影响开发流程或自动跳转。

相关文章