homepage 字段用于声明项目官方主页 URL,必须是完整可访问的 HTTP/HTTPS 地址,面向用户展示介绍、文档等信息;它不同于 repository(源码地址)和 support(支持渠道),不可填 GitHub 或 Packagist 链接,且需手动验证有效性。

homepage 字段的用途和语义
homepage 是 composer.json 中一个可选但有明确语义的字段,用于声明该项目的**官方主页 URL**(不是源码仓库地址,也不是 Packagist 页面链接)。它面向终端用户或集成方,提供项目介绍、文档入口、联系方式等信息。Packagist 在展示包时会直接渲染该链接,因此必须是完整、可访问的 HTTPS 或 HTTP 地址。
与 repository、source、support 字段的区别
容易混淆的是:repository 指向源码托管地址(如 GitHub),support.source 或 support.issues 用于支持渠道,而 homepage 是唯一被设计为“对外官网”的字段。若项目没有独立官网,不应硬填 GitHub 主页或 Packagist 链接——这违反语义,也会让 Packagist 展示出误导性入口。
-
homepage:"https://myproject.dev"✅(真实官网) -
homepage:"https://github.com/user/project"❌(应放在repository) -
homepage:"https://packagist.org/packages/vendor/package"❌(Packagist 不鼓励,且无实际价值)
配置格式与校验要点
值必须是字符串,且需以 http:// 或 https:// 开头;不支持相对路径、邮件地址或空值。Composer 本身不做 URL 格式校验,但 Packagist 在同步时会拒绝无法解析或重定向异常的链接。建议在提交前手动访问测试,并确认返回状态码为 200。
- 合法写法:
"homepage": "https://example.com/my-package" - 非法写法:
"homepage": "example.com"(缺协议) - 非法写法:
"homepage": "./docs"(相对路径) - 非法写法:
"homepage": ""(空字符串,Packagist 会忽略该字段)
实际影响与常见误用后果
填错 homepage 最直接的影响是 Packagist 包页面顶部“Homepage”按钮跳转失效,用户无法快速获取项目背景,降低信任度;某些自动化工具(如静态分析平台、依赖仪表盘)也会抓取该字段做元数据聚合,错误链接会导致数据污染。更隐蔽的问题是:当项目后期迁移到新官网但未同步更新此字段,旧链接长期失效却无人察觉——因为 Composer 安装过程完全不依赖它。
真正需要关注它的,是维护者自己定期核对,而不是依赖工具强制校验。










