执行 composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ 可全局启用腾讯云镜像源,所有项目自动生效;需注意键名、type值及末尾斜杠,项目级配置或DNS问题可能导致失效。

直接用这条命令就能全局生效
腾讯云镜像源已经稳定运行多年,composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ 这条命令执行完,所有新老项目都会自动走腾讯云加速——不用改 composer.json,也不用每次加参数。
注意三点:
-
repo.packagist是固定键名,不是repos.packagist(后者是旧版写法,现在会静默失败) -
composer是 type 字段值,必须写,不能省略 - 末尾的
/必须保留,漏掉会导致部分 Composer 版本返回 404
为什么有时候设了也不生效?
常见现象是执行 composer install 还是从 packagist.org 慢速拉取,甚至报 Could not fetch https://mirrors.cloud.tencent.com/composer/p2/。根本原因通常是:
- 项目级
composer.json里显式写了"packagist.org"或自定义repositories,它会覆盖全局配置(Composer 优先级:项目 > 用户 > 全局) - DNS 解析失败,可试
ping mirrors.cloud.tencent.com;南方用户偶尔遇到该域名解析不稳定,可临时换阿里云源备用 - Composer 版本太老(composer self-update,新版对镜像兼容性更好
临时切换或 CI 场景怎么不污染环境?
不想动全局配置,又想验证腾讯云是否可用,或者在 CI 脚本里隔离设置,就用 -r 参数:
-
composer install -r https://mirrors.cloud.tencent.com/composer/—— 当前命令独享,不写任何配置文件 - 但注意:
composer create-project不支持-r,得先config -g临时设好再跑 - 如果要彻底绕过所有已配仓库(包括项目里的),用
--repository-url更可靠,比如:composer update --repository-url=https://mirrors.cloud.tencent.com/composer/
设完怎么确认真的在用腾讯云?
别只看命令有没有报错,得验证实际请求路径:
- 运行
composer config -g repo.packagist,输出应为{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"} - 更直接的办法:
composer show laravel/framework 11.* --no-ansi | head -n 5,观察响应头或 URL 是否含mirrors.cloud.tencent.com - 若仍看到
Repo packagist.org is default(来自composer diagnose),说明镜像完全没接管,大概率是配置写错了键名或被项目级配置压掉了
腾讯云镜像本身不代理 ZIP 包下载(仍从 GitHub/GitLab 直链),所以它只加速元数据读取和依赖解析阶段;真正卡在下载 ZIP,得另查网络或 GitHub 访问状况。










