直接换镜像源是最有效的应急方案,90%的网络卡顿、超时、connection refused都能立刻缓解;推荐全局执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,注意末尾必须带/composer/,换源后需运行composer clear-cache清除缓存。

直接换镜像源是最有效的应急方案,90% 的网络卡顿、超时、Connection refused 都能立刻缓解。别折腾代理或 hosts,优先执行命令级切换。
全局换源:一条命令立即生效(推荐新手)
在终端运行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
这条命令会写入 ~/.composer/config.json,之后所有项目默认走阿里云镜像。注意末尾必须带 /composer/,少斜杠会导致 404。
- 阿里云目前同步最稳,CDN 覆盖全,国内多数环境首选
- 腾讯云地址是
https://mirrors.cloud.tencent.com/composer/,适合腾讯云 ECS 用户 - 华为云地址是
https://mirrors.huaweicloud.com/repository/php/composer/(路径含/repository/php/,不是/composer/) - 换完必须清缓存:
composer clear-cache,否则仍可能拉旧元数据
项目级换源:不污染全局,适合团队协作
进入项目根目录后运行(去掉 -g):
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
它会向 composer.json 的 repositories 字段追加一条 "packagist" 配置,不会覆盖已有的私有源。
- 如果项目已有
"repositories": { ... },命令会自动 merge,安全 - 提交到 Git 后,队友
composer install自动走镜像,composer.lockhash 一致 - 若执行后
composer install报 hash 不匹配,删掉vendor和composer.lock重来即可
临时指定镜像:排查问题或验证可用性
不想改任何配置?加参数强制走指定地址:
composer install -vvv --repository-url=https://mirrors.huaweicloud.com/repository/php/composer/
-vvv 是关键,它会打印真实请求 URL,否则你看不到到底连了谁。
- 该方式完全忽略项目和全局的
repositories配置 - 适合快速验证某个镜像是否真能用,比如刚听说华为云更新了同步策略
- 不适用于日常开发,因为每次命令都得重复加参数
换源后仍报错?重点检查这三处
换源不是万能药,常见漏点如下:
- 宝塔面板里「PHP 管理器」或「计划任务」跑的 Composer 命令,往往以
www用户身份执行,但composer config -g写的是root的配置——得给www用户单独配:sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - PHP CLI 环境异常:宝塔常禁用
proc_open、putenv,导致 Composer 启动失败,需进面板 PHP 设置里手动删除这些禁用函数 - 镜像地址拼错或协议不对:确认 URL 是
https开头,且结尾是/composer/(阿里云/腾讯云)或/repository/php/composer/(华为云),不是/php/composer/或漏斜杠











