“Package not found”八成是包名拼写错误、大小写不符或未配置repositories导致Composer默认只查packagist.org;包名须与Packagist URL完全一致,repositories启用后需显式保留packagist.org且Git仓库composer.json中name字段必须严格匹配。

“Package not found”八成不是网络问题,而是包名写错、大小写不对,或根本没告诉 Composer 去哪找——它默认只查 packagist.org,其他地方一概无视。
包名拼写和大小写必须和 Packagist 页面 URL 完全一致
Composer 不做模糊匹配,也不自动纠错。你输 monolog/monolog 能装,输 Monolog/Monolog 或 monolog 就 404;spatie/laravel-backup 写成 spatie/backup 同样失败。
- 打开 https://www.php.cn/link/94953b1a99c64501ceb078724697224f(把
vendor/name换成你写的完整包名),看是否返回 404 页面 - 别从网页、聊天记录里复制包名——里面可能混入全角斜杠
/、不可见空格或零宽字符;建议在纯文本编辑器里重打一遍再粘贴 - 运行
composer search --only-name guzzle,第一列输出的就是可直接require的准确包名,复制最安全
加了 repositories 却连 monolog/monolog 都装不上
只要你在 composer.json 的 repositories 字段里写了任意一条记录(哪怕只加了一个 Git 地址),Composer 就会默认关闭 packagist.org 自动注入。结果是:私有包没配对,公共包也全失效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
"packagist": false必须作为repositories数组的第一项,否则无效 - 第二项起必须显式写上官方源:
{"type": "composer", "url": "https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19"},不能用package或artifact类型替代 - 私有 Git 仓库要单独加一条:
{"type": "vcs", "url": "https://gitlab.internal.company.com/group/pkg"} - 改完立刻执行
composer clear-cache,否则旧缓存还在用“无 packagist”的配置
Git 仓库直连但提示 Package not found
能 clone 到代码 ≠ Composer 能识别为有效包。关键在于 Git 仓库根目录的 composer.json 是否存在,且其中 name 字段值是否严格等于你 require 时写的完整包名。
-
repositories中必须写"type": "vcs",URL 必须是可git clone的地址,例如"https://github.com/username/repo.git",不能是网页链接https://github.com/username/repo - 该 Git 仓库根目录必须有
composer.json,且其"name"字段值为"username/repo"(与require完全一致) - 删掉
vendor/和composer.lock,再跑composer update username/repo,避免缓存干扰
新 tag 提交后立刻 install 却报错
Packagist 同步存在 5–30 分钟延迟,新 tag 暂不可搜、不可装。这不是你配置的问题,也不是网络挂了,只是索引还没刷进去。
- 确认方式只有两个:访问 https://www.php.cn/link/94953b1a99c64501ceb078724697224f 看是否 404;或运行
composer show -p vendor/name输出是否为空 - 临时救急:登录 packagist.org → 右上角「Submit」→ 填入 GitHub/GitLab 仓库 URL 提交
- 长期方案:提交成功后,进入该包页面 →「Edit」→ 开启 Update on Push(即配置 webhook)
- 确保 Git tag 是标准格式:
v1.0.0或1.0.0,不能是release-1.0、v1.0或带空格/下划线
最容易被忽略的是:加了 repositories 后忘了显式启用 packagist.org,或者 Git 仓库里 composer.json 的 name 字段漏写 vendor 名——这两个点一旦出错,报错信息完全一样,但原因天差地别。

















