必须同时删除环境变量、项目级repositories和全局repo.packagist配置,清空缓存并删除vendor/与composer.lock,再通过composer install -vvv验证真实请求域名,才能彻底恢复默认源。

直接删掉所有镜像配置 + 清缓存 + 验证请求域名,才能真正恢复默认源;只改 config 输出或只跑 clear-cache 都可能白忙。
确认当前镜像是否真在生效
别信 composer config -g repo.packagist 的输出——它可能显示一个 URL,但实际请求仍走官方源或另一个镜像。真实路径得看日志:
- 运行
composer install -vvv 2>&1 | grep -i 'GET https'(Linux/macOS),第一行出现的域名才是 Composer 正在访问的真实地址 - Windows 用户可执行
composer install -vvv后手动搜索repo.packagist.org或镜像域名 - 如果看到
mirrors.aliyun.com或packagist.org,说明配置没生效,或被其他层覆盖了
三层配置必须全清,缺一不可
Composer 查源顺序是:环境变量 > 项目级 composer.json > 全局 config.json。只动其中一层,大概率无效:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 删全局镜像:
composer config -g --unset repo.packagist(注意是repo.packagist,单数,不是repos.packagist) - 进项目目录,删项目级配置:
composer config --unset repositories(这会删掉整个"repositories"块) - 检查环境变量:
echo $COMPOSER_REPO_PACKAGIST(Linux/macOS)或echo %COMPOSER_REPO_PACKAGIST%(Windows),有输出就用unset COMPOSER_REPO_PACKAGIST或set COMPOSER_REPO_PACKAGIST=清掉
缓存不清理 = 配置白改
Composer 会把旧镜像的 packages.json 快照存在缓存里,哪怕你已删光所有配置,它仍按老快照找包,结果就是 404、Package not found 或卡在 Loading composer repositories:
- 必须执行:
composer clear-cache - 验证是否清空:
ls -la ~/.composer/cache/repo/(Linux/macOS)或dir %APPDATA%\Composer\cache\repo\(Windows),应为空或只剩空目录 - 更彻底的做法:删掉项目根目录下的
vendor/和composer.lock,再重装
验证是否真走官方源,而不是“看起来像”
别靠速度或报错类型判断——国内网络直连 packagist.org 常超时,但超时 ≠ 没走官方源。唯一可靠方式是看诊断输出和真实请求:
- 运行
composer diagnose -v,末尾几行必须明确出现Checking https://packagist.org/packages.json - 或者再次执行
composer install -vvv | grep -i 'GET https',第一行必须是https://repo.packagist.org/... - 如果仍看到任何镜像域名,说明某一层配置漏了,重点复查
composer.json里的"repositories"字段和环境变量
最常被忽略的是 composer.lock 里硬编码了旧 provider 地址,不删它,Composer 就一直拿旧路径去新源上撞墙。

















