直接执行composer config -g --unset repos.packagist并运行composer clear-cache可恢复官方源,因Composer设计为“字段缺失即自动启用https://repo.packagist.org”,该方式兼容2.0–2.4所有版本,且不依赖fallback判断;需注意代理配置须单独清除,与镜像无关。

直接执行 composer config -g --unset repos.packagist 并运行 composer clear-cache,才能真正取消镜像;但代理(http-proxy/https-proxy)必须单独清除,两者互不干扰,混在一起操作必踩坑。
为什么 composer config -g --unset repos.packagist 是首选命令
Composer 的源切换逻辑不是“设成什么就走什么”,而是“字段存在才覆盖,默认行为由字段缺失触发”。删掉 repos.packagist 后,它自动回退到硬编码的 https://repo.packagist.org,不依赖 fallback 判断,兼容 Composer 2.0–2.4 所有小版本。
- 必须带
-g:否则只删当前项目composer.json里的repositories块,对全局无效 - 键名必须是
repos.packagist(复数),写成repo.packagist(单数)不会报错但无效 - 旧项目可能同时存在两种写法:建议连删两次:
composer config -g --unset repos.packagist和composer config -g --unset repo.packagist - 删完不生效?大概率是项目级
composer.json里还有"repositories"字段,它优先级更高
代理配置必须单独处理,和镜像无关
镜像(repos.packagist)控制元数据地址,代理(http-proxy)控制网络请求出口,两者完全独立。很多人清了镜像却仍走代理,就是因为漏掉了这步。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 清除全局 HTTP 代理:
composer config --global --unset http-proxy - 清除全局 HTTPS 代理:
composer config --global --unset https-proxy - 检查是否残留:运行
composer config --global --list,确认输出中不含http-proxy或https-proxy - Windows 用户注意注册表:
HKEY_CURRENT_USER\Software\Environment下可能存有http_proxy字符串值,需手动删 - 临时绕过代理(不改配置):
http_proxy= https_proxy= composer install(Linux/macOS)
验证是否真恢复,不能只看命令有没有报错
配置改对 ≠ 请求走对。必须观察真实网络行为,否则你看到的全是假成功。
- 查当前生效源:
composer config repo.packagist(不带-g),输出应含"url": "https://repo.packagist.org",不是镜像域名 - 看真实下载地址:
composer require monolog/monolog --no-install -vvv,滚动日志里找Downloading https://行,URL 必须是https://repo.packagist.org - 确认缓存已空:
ls -la ~/.composer/cache/(Linux/macOS)或dir %APPDATA%\Composer\Cache\(Windows),目录应为空或只剩空子目录 - 检查环境变量干扰:
env | grep COMPOSER_REPO(Linux/macOS)或echo %COMPOSER_REPO_PACKAGIST%(Windows),有就unset或清除
最容易被忽略的三层覆盖关系
Composer 查源顺序是固定且不可绕过的:环境变量 > 项目级配置 > 全局配置。哪怕你全局删得干干净净,只要其中一层还盖着,就永远走不了官方源。
- 项目级优先:进项目目录后运行
composer config repo.packagist,如果输出是镜像地址,说明composer.json里的"repositories"块在起作用 - 环境变量最高:即使配置全清,
COMPOSER_REPO_PACKAGIST环境变量存在就会彻底接管,且不提示 - IDE 可能偷偷注入:PHPStorm 等工具会在项目设置里加镜像源,改完配置后记得重启 IDE 或换系统终端验证
- 没有“撤销”机制:删错配置只能手动编辑
~/.composer/config.json补回,或删掉整个文件让 Composer 自动重建默认

















