直接执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 可解决多数下载卡顿问题,但需严格满足三条件:键名必须为 repo.packagist(单数)、中间参数必须为小写 composer(type 值)、URL 必须以 / 结尾;否则静默回退官方源,且验证须通过 composer config -g repo.packagist 输出完整 JSON 或 URL 确认生效。

直接执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 就能解决绝大多数下载卡顿问题,但这条命令极易静默失效——不是网络慢,而是三个细节没对齐。
为什么 composer config -g repo.packagist 看起来成功却没用
它不报错,但 composer install 依然连 packagist.org。真正生效必须同时满足:
-
repo.packagist键名必须一字不差:写成repos.packagist、repository.packagist或mirror全部无效 - 中间的
composer是type值,小写,不可省略——漏掉它,Composer 就当这行配置不存在 - URL 必须以
/结尾:https://mirrors.aliyun.com/composer/✅,https://mirrors.aliyun.com/composer❌(部分版本会拼出/composerpackages.json导致 404)
验证是否真写进去了:运行 composer config -g repo.packagist,输出应为完整 JSON 对象或至少是 URL 字符串;空、null、或仍是 https://packagist.org,说明根本没写成功。
composer create-project 为什么换源也没提速
这个命令不读全局镜像配置,会绕过 repo.packagist 直接访问 packagist.org 下载 skeleton 包。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 必须显式加
--repository-url参数:composer create-project laravel/laravel myapp --repository-url=https://mirrors.aliyun.com/composer/ - 某些框架 starter 模板还带额外 Git 克隆步骤,镜像只加速包下载,Git 部分仍需另配代理或使用国内 fork
- CI 脚本中若要用镜像,不能依赖临时参数,必须先
config -g再执行,否则流水线里照样走海外源
团队协作时该用全局配置还是项目级配置
全局配置只在你本地终端生效;项目级配置写进 composer.json,才能保证协作者和 CI 环境行为一致。
- 进项目根目录(含
composer.json),运行composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 它会自动追加到
repositories数组首位,不破坏已有私有源 - 项目里只要定义了
"repositories"字段(哪怕只写了[]),全局配置就会被跳过且不报错 - 宝塔、Docker 或多用户环境,Web 服务可能以
www用户运行,此时必须切换用户执行:sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
换源后仍卡在 “Loading composer repositories” 怎么办
Composer 会优先读取本地缓存和 composer.lock 中记录的元数据地址,哪怕你已经改了镜像,它也可能还在用旧 URL。
- 先运行
composer clear-cache - 删掉项目下的
vendor/和composer.lock - 再执行
composer install -vvv,观察日志里是否出现mirrors.aliyun.com或mirro(注意截断) - 如果日志里仍有
packagist.org,说明配置未加载,检查COMPOSER_HOME环境变量是否指向错误路径
镜像只加速 packagist.org 上的 PHP 包下载。遇到含 Git 子模块、私有仓库或 require-dev 里带 GitHub URL 的包,该慢还是慢,得单独处理。

















