Composer全局配置腾讯云镜像未生效,大概率因项目级repositories配置覆盖全局设置,或URL格式错误(如键名错为repositories.packagist、缺末尾斜杠/、type值漏写composer)。

为什么composer config -g repo.packagist设了腾讯云却没生效
大概率是项目级配置覆盖了全局设置,或者 URL 格式不对。Composer 加载顺序是:项目 composer.json 里的 repositories → 全局 ~/.composer/config.json → 默认 packagist.org。只要项目里写了 "repositories": [...],哪怕只有一行 {"type": "composer", "url": "https://packagist.org"},全局镜像就完全失效。
常见错误包括:
-
composer config -g repositories.packagist(错,键名应为repo.packagist) - URL 少了末尾
/,比如写成https://mirrors.cloud.tencent.com/composer→ 拼出的请求路径变成.../composerpackages.json,直接 404 - 用了旧写法
composer config -g repos.packagist,在 Composer ≥2.5 中已被弃用
composer install卡住时怎么秒切阿里云/华为云备用源
别重试,先清缓存再换源。90% 的卡顿不是你网络问题,而是当前镜像同步延迟或 CDN 回源失败。
三步执行(复制粘贴即可):
- 清除本地缓存:
composer clear-cache - 切阿里云:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 切华为云:
composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php/
注意:/ 必须保留;composer 是 type 值,小写且不可省略;华为云路径含 /repository/php/,不能套用阿里云模板。
临时用腾讯云源但不想改任何配置怎么办
适合 CI 脚本、帮同事调试、或只跑一次 create-project。不碰 config.json,也不影响其他项目。
两种方式:
- 单次命令指定源:
composer install -r https://mirrors.cloud.tencent.com/composer/(参数是-r,不是--repository-url) - 调试真实请求:
composer update -vvv --repository=https://mirrors.cloud.tencent.com/composer/,日志第一行就会显示实际发起的GET地址
⚠️ -r 不会写入任何配置,也不会触发 fallback;如果镜像里没有你要的包,它不会自动回退到官方源。
验证是否真走腾讯云,别只看命令回显
命令成功不代表生效。必须确认三点一致:
- 查配置:
composer config -g repo.packagist输出应为{"type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/"} - 看诊断:
composer diagnose结果里 “Repo:” 行必须是腾讯云域名 - 抓真实请求:
composer show -p | head -n 1第一行应含mirrors.cloud.tencent.com;最可靠的是composer update -vvv --dry-run,搜日志里的GET https://mirrors.cloud.tencent.com/
腾讯云镜像有 fallback 机制(找不到包时自动回源),所以即使看到 packagist.org 请求,也不代表镜像没生效——得看第一个包是不是从腾讯云拉的。


















