执行
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/即可全局启用腾讯云 composer 镜像,但需确保 url 末尾带 /、清缓存(composer clear-cache)、验证配置生效,并排查代理、dns 或 https 证书等网络问题。

直接用这条命令,全局生效
腾讯云 Composer 镜像已经全量同步 packagist.org,只要执行这一条命令,后续所有 composer install 和 composer update 就会自动走国内节点:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
注意:URL 末尾的 / 缺不得。少它,Composer 2.2+ 会报 Invalid repository type 或卡在 Resolving packages... 后 404;用 curl -I https://mirrors.cloud.tencent.com/composer/ 能看到 200 OK 才算对。
换源后没变快?先清缓存再验证
镜像配置写进去了,不代表立刻生效——Composer 会复用旧的元数据缓存,导致仍向 packagist.org 发请求。
- 必须运行
composer clear-cache清掉本地缓存 - 验证是否真生效:运行
composer config -g repo.packagist,输出里得有"url": "https://mirrors.cloud.tencent.com/composer/" - 进一步确认:执行
composer show laravel/framework --no-ansi | head -n 3,响应头或 URL 中应出现mirrors.cloud.tencent.com,而不是packagist.org
代理、DNS、证书——三个最常卡住的地方
即使命令跑通、缓存清了、URL 也对,还是 Could not fetch,大概率是网络中间层出了问题:
-
http_proxy或https_proxy环境变量残留:linux/macos 运行env | grep -i proxy,windows 运行set proxy;临时清除用unset http_proxy https_proxy或composer config -g -u http-proxy - DNS 解析失败:
ping mirrors.cloud.tencent.com如果不通,说明本地网络(比如教育网、企业防火墙)拦截了该域名,可临时切阿里云源https://mirrors.aliyun.com/composer/测试 - HTTPS 校验异常但不该关:腾讯云镜像用的是 TrustAsia 签发的有效证书,
"secure-http": false或verify-peer=false不仅没必要,还会让新版 Composer(2.5+)直接拒绝加载
项目级配置和临时切换,按需选择
不想影响其他项目?或者只是 CI 流水线里临时加速?有更轻量的方式:
- 只对当前项目生效:
composer config repo.packagist composer https://mirrors.cloud.tencent.com/composer/(不加-g),会写入项目composer.json的repositories字段 - 单次命令强制走镜像:
composer install -r https://mirrors.cloud.tencent.com/composer/,这个参数会忽略所有已配置仓库,适合排查或调试 - 回退到官方源最稳妥:
composer config -g --unset repos.packagist,别手动改~/.composer/config.json,容易漏字段或格式错
镜像本身没问题,但它的可用性取决于你本地网络对 mirrors.cloud.tencent.com 的可达性——这点比命令对不对更重要。