执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 即可全局启用阿里云镜像,速度提升显著且稳定,需确保末尾斜杠存在并验证配置生效。

直接执行这条命令就能全局生效
阿里云镜像现在是最稳的国内源,换上后 composer install 速度通常从几 KB/s 跳到 1–5 MB/s,耗时下降 60% 以上。不是“可能快”,是几乎必然快——只要你没踩坑。
-
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意末尾斜杠不能少) - 执行后立刻验证:
composer config -g repo.packagist,输出必须是带"type": "composer"和你填的 URL 的 JSON - 别手写
~/.composer/config.json,容易格式错误;也别用旧键名repos.packagist(带 s),那是 Composer 1.x 的写法,2.0+ 已废弃 - Windows 用户配置路径在
C:\Users\用户名\AppData\Roaming\Composer\config.json,macOS/Linux 在~/.composer/config.json
为什么换了还是卡在 0 B/s?常见失效原因
镜像本身极少宕机,但你的本地环境经常悄悄绕过它。最典型的是项目级配置覆盖了全局设置。
- 检查是否被
composer.json里的repositories字段劫持:运行composer config -l | grep repositories.packagist,如果输出里有项目路径,说明当前项目自己写了源,全局配置被无视了 -
composer diagnose输出中若出现Repo packagist.org is default,代表根本没走镜像——90% 是上面那个原因 - 公司内网或代理可能屏蔽
mirrors.aliyun.com,浏览器打开试试;不行就临时加 hosts:118.31.67.52 mirrors.aliyun.com - SSL 报错如
unable to get local issuer certificate:Windows 上要改php.ini,启用curl.cainfo并指向有效的cacert.pem
只给单个项目换源,怎么避免污染队友环境
适合 CI 构建、临时测试或团队强制统一源的场景,但要注意它会直接改 composer.json,且不合并已有仓库配置。
- 进项目根目录,运行:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不加-g) - 执行后
composer.json会新增"repositories": { "packagist": { ... } },如果原来就有repositories字段,整个对象会被替换,私有包仓库就丢了 - 已有
composer.lock的项目,首次install可能报 hash 不匹配——删掉vendor和composer.lock再来一遍更干净 - 不想提交这个改动?用临时方式:
composer install -r https://mirrors.aliyun.com/composer/ -vvv,加-vvv才能看到实际请求地址,确认真走了镜像
换源后依赖解析失败,先别急着切回官方源
镜像同步延迟极低(通常
- 先清缓存:
composer clear-cache,旧缓存里可能还存着 packagist.org 的元数据 - 检查
type值是不是写成了"package"或漏了——必须是"composer",否则 Composer 自动降级回默认源 - 腾讯云、华为云等镜像偶尔有短暂不同步,可临时切过去验证:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ -
composer create-project不支持-r参数,想临时试镜像,得先config -g设好再执行
最常被忽略的一点:全局配置只对新终端生效,改完命令没反应?关掉当前终端重开一个再试。还有,repo.packagist 是固定键名,不是变量,别替换成别的词。










