
composer config -g repo.packagist 命令必须写对
换源失败,八成卡在这条命令的拼写和参数上。它不是 repos.packagist,也不是 repo.packagist.org,更不能漏掉中间的 composer 类型声明。
-
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/—— 正确(注意末尾斜杠 /) -
composer config -g repositories.packagist ...—— 已弃用,Composer 2.5+ 不识别 -
composer config -g repo.packagist https://...—— 缺少composertype,会创建无效仓库 -
https://mirrors.cloud.tencent.com/composer(无尾部 /)—— 部分 Composer 2.2+ 版本报Invalid repository type
换完不生效?先清缓存,再看真实请求源
配置写进去了,但 composer install 还是慢、还是连 packagist.org,大概率是缓存没清,或者被项目级配置覆盖了。
- 必须执行
composer clear-cache,否则 Composer 继续用旧元数据,镜像形同虚设 - 验证是否真生效:运行
composer config -g repo.packagist,输出里要有"url": "https://mirrors.cloud.tencent.com/composer/" - 观察实际请求:加
-vvv执行composer show laravel/framework --no-ansi -vvv | grep mirrors,看到域名才作数 - 检查项目级覆盖:进项目根目录,运行
composer config repos.packagist,若有输出,说明composer.json里写了repositories,优先级更高
腾讯云镜像连不上?别硬扛,快速切阿里云或临时绕过
腾讯云镜像本身同步没问题,但部分地区(尤其教育网、某些企业防火墙)会拦截 mirrors.cloud.tencent.com,DNS 解析失败或 HTTPS 握手异常很常见。
- 先试
ping mirrors.cloud.tencent.com,不通就别折腾,直接切阿里云:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 若必须用腾讯云且 DNS 可通但 HTTPS 报证书错误(如
unable to get local issuer certificate),可临时关安全校验:composer config -g secure-http false(仅调试用,勿长期保留) - CI 或单次调试时,跳过全局改写,直接用
-r参数:composer install -r https://mirrors.aliyun.com/composer/,干净利落
想恢复默认源?一条命令比手动删文件更可靠
误操作后依赖拉不下来,最稳妥的回退方式不是打开 ~/.composer/config.json 手动删字段,而是让 Composer 自己清理。
- 执行
composer config -g --unset repos.packagist,立刻移除全局镜像设置,自动回落到https://packagist.org - 如果这命令也卡住(比如全网 DNS 异常),可强制指定源再执行:
composer config -g --repository=https://packagist.org --unset repos.packagist - 项目级配置回退:进项目根目录,运行
composer config --unset repos.packagist(不加-g)
镜像地址本身没玄机,真正决定快慢的是你本地网络到那个 IP 的路径质量。换源只是开关,清缓存、验请求、查覆盖、备回退——这四步漏掉任何一环,都可能让你以为镜像“失效”了。











