“Package not found”是因包名错误、镜像未同步或稳定性策略过滤所致;需检查包名拼写与大小写、确认镜像同步状态、显式指定版本稳定性标签,或正确配置私有仓库源。

“Package not found”不是网络或 Composer 坏了,而是它根本没在当前源里“看见”这个包——要么名字写错、要么源没同步、要么版本被稳定性策略过滤掉了。
包名拼错或大小写不一致
Composer 严格匹配 Packagist 上注册的完整 vendor/name,monolog/monolog 和 Monolog/monolog 是两个不同包。很多报错连 HTTP 请求都没发出去。
- 打开 https://www.php.cn/link/0bbbb57049cfe4c4dec3c4e195059b30(把
xxx/yyy换成你写的全包名),看是否返回有效页面 - 别从网页、聊天记录里直接复制包名——可能含不可见空格或全角字符,建议在纯文本编辑器里重打一遍再粘贴
- 确认
vendor名和package名之间是斜杠/,不是短横线-,比如laravel/sanctum不是laravel-sanctum
镜像未同步或本地元数据缓存过期
国内主流镜像(阿里云、腾讯云)对 packages.json 和 p/vendor/name.json 的同步通常有 5–30 分钟延迟,新发布的 tag 或 dev-main 分支尤其明显。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 用
curl -I https://mirrors.aliyun.com/composer/p/monolog/monolog.json查Last-Modified时间是否接近当前时间;状态码必须是HTTP/2 200 -
composer clear-cache只删 ZIP 包缓存,对元数据无效;必须手动删掉~/.composer/cache/repo/https---mirrors.aliyun.com-composer(Windows 路径为%APPDATA%\Composer\cache\repo\https---mirrors.aliyun.com-composer) - 运行
composer diagnose确认实际生效的源地址,注意结尾是否有斜杠;若输出中Repo packagist.org:后面不是你配的镜像 URL,说明配置没生效
版本稳定性约束太严
默认只装 stable 版本,而你要的包可能只有 beta、rc 或 dev-main。Composer 不是“找不到”,是“主动跳过”。
- 访问该包的 Packagist 页面 → 点
Releases标签页,看最新版本号和stability类型 - 显式加稳定性标记安装:
composer require vendor/name:@dev或composer require vendor/name:2.0.0@beta - 避免全局改
minimum-stability——容易引发其他包升级冲突;临时用--stability=dev更安全 - 如果项目里已有
"prefer-stable": true,它会进一步压制非 stable 版本,可临时去掉再试
私有包或 VCS 仓库没配对 repositories
Composer 默认只查 Packagist,不会自动去 GitHub、GitLab 或内网 Git 服务器翻代码。你写了 myorg/mylib,但它既没上 Packagist,又没告诉 Composer “去我公司 GitLab 里翻”,那它当然报“not found”。
- 检查
composer.json是否有repositories字段;若有,运行composer config --list | grep repositories确认是否被读取 - 自定义源配置错一个字段(比如
type写成vcs-git而非vcs),Composer 就会静默忽略,继续查默认源 - 确保仓库根目录有
composer.json,且name字段格式为vendor/name,与require时完全一致 - 若用了 GitHub/GitLab,需配置 token:
composer config -g github-oauth.github.com YOUR-TOKEN
最常被忽略的是:只要 composer.json 里有 repositories 字段,Composer 就会完全忽略全局镜像源——哪怕你只加了一条私有 Git 地址,monolog/monolog 都可能查不到。这时候必须显式把 Packagist 源也加进 repositories,并设 "packagist": false 关闭默认行为,再手动补一条官方源。

















