homepage字段必须写在composer.json根级,值为带https://的完整URL,与name同级;修改后需推送到默认分支或打新tag才能触发Packagist同步,填错或不填均不影响安装但损害用户体验。

直接写在 composer.json 最外层,值必须是带 https:// 的完整 URL,改完要推送到默认分支或打新 tag,Packagist 才会更新。
homepage 字段必须放在 composer.json 根对象里
它和 name、description 同级,不是 extra、config 或 scripts 的子项。Composer 和 Packagist 都只认这个位置。
- ✅ 正确写法:
{"name": "vendor/package", "description": "A lib", "homepage": "https://mylib.dev"} - ❌ 错误写法:
"extra": { "homepage": "https://mylib.dev" }—— Packagist 完全忽略 - ❌ 错误写法:
"config": { "homepage": "https://mylib.dev" }—— Composer 不解析该路径 - ⚠️ 空字符串
""或null会被当没填,Packagist 显示 “No homepage”
值必须是合法、可点击的 URL
Packagist 不校验格式,但链接无效时用户点进去就是 404;它也不支持相对路径或协议缺失写法。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- ✅ 推荐:
"https://mylib.dev"、"https://user.github.io/repo" - ❌ 无效:
"mylib.dev"(缺协议,浏览器会拼到当前页面路径) - ❌ 无效:
"./docs"(相对路径,Packagist 不解析) - ❌ 无效:
"git@github.com:user/repo.git"(SSH 地址不被识别为超链接) - ⚠️ 别填
"https://packagist.org/packages/vendor/package"—— 循环跳转,无意义
改了 homepage 为什么 Packagist 没变?
Packagist 不实时拉取,它只在特定事件触发元数据同步:推送 commit 到默认分支(如 main)、打新 tag、或手动点 “Update”。
- ✅ 确保已
git push到默认分支,且composer.json在仓库根目录 - ✅ 运行
composer validate,语法错误会导致 Packagist 跳过整个文件 - ✅ 去 Packagist 页面看右上角 “Last updated” 时间,确认是否已拉取最新 commit
- ❌ 别只改本地文件然后跑
composer install—— 这个命令完全不读homepage - ⚠️ GitHub webhook 失效很常见:去 GitHub Settings → Webhooks 查日志,确认 payload 被 Packagist 成功接收
homepage 和 repository、support.source 别混用
三者语义完全不同,填反了会让用户点错地方:
-
homepage:项目对外官网或文档页,用户想了解“这是什么、怎么用” -
repository:源码托管地址(如 GitHub),Composer 安装时依赖它拉代码 -
support.source:Packagist 页面显示为 “Source” 按钮的链接,应和repository一致 - ⚠️ 把 GitHub 地址塞进
homepage,用户点“Homepage”却进了代码页,体验割裂 - ⚠️ 如果没独立站点,宁可不填,也别硬凑一个 404 链接 —— 信任度比“没填”还低
真正容易被忽略的是:这个字段对 PHP 运行时零影响,但一旦发布,它就成了下游用户接触项目的第一个链接;填错一次,404 问题不会报错、不会中断构建,只会悄悄损害可信度,而且很难定位是谁、什么时候配错的。

















