使用 composer config -g repo.packagist https://mirrors.aliyun.com/composer/ 可设置全局镜像;必须加 -g 参数,键名固定为 repo.packagist,阿里云镜像推荐使用,清华源已停用。

composer config 怎么改全局镜像地址
直接改全局配置最常用,命令是 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/。注意必须带 -g(global),否则只改当前项目,容易误以为生效了但新项目还是走官方源。
阿里云、腾讯云、华为云镜像都支持 HTTPS,推荐用阿里云:https://mirrors.aliyun.com/composer/;清华源已停止维护 Packagist 镜像,别再填 https://packagist.phpcomposer.com——会报 Could not parse version constraint 错误。
-
repo.packagist是固定键名,不能写成packagist或mirror - 如果之前设过其他镜像,这条命令会覆盖,不用先删
- 执行后不会输出任何提示,查是否生效:运行
composer config -g repo.packagist,应返回你刚设的 URL
为什么 vendor install 还是慢 / 报 404
常见原因是 Composer 版本太老(/,比如填了 https://mirrors.aliyun.com/composer/(带斜杠)可能触发 302 跳转失败。
- 升级 Composer:
composer self-update,确保是 2.x 最新版 - 检查镜像 URL 是否多写了
/,正确写法是https://mirrors.aliyun.com/composer(无尾部斜杠) - 临时验证镜像可用性:手动 curl
https://mirrors.aliyun.com/composer/packages.json,能返回 JSON 就说明镜像通
想只对某个项目换镜像,不碰全局
进项目根目录,去掉 -g 参数,用 composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer。这样只影响当前 composer.json 同级目录下的操作,适合测试新镜像或隔离环境。
- 项目级配置会生成或修改
composer.json里的repositories字段,内容类似:{"repositories": {"packagist.org": {"type": "composer", "url": "https://mirrors.tuna.tsinghua.edu.cn/composer"}}} - 如果项目里已有自定义
repositories,这条命令会合并而非覆盖,注意别出现重复 key 导致解析失败 - 删项目级镜像:用
composer config --unset repositories.packagist.org,不是--unset repo.packagist
config 命令改完没反应?先清缓存
Composer 会缓存 packages.json 和包元数据,即使镜像地址改对了,旧缓存还可能拉取失败的响应,表现为反复报 file could not be downloaded 或 failed to open stream。
- 清缓存命令:
composer clear-cache,不是composer cache-clear(后者是旧版别名,新版已弃用) - 缓存位置一般在
~/.composer/cache(Linux/macOS)或%APPDATA%\Composer\cache(Windows),可手动删 - 清完缓存后首次
composer update会稍慢,这是正常重建索引过程
clear-cache,再 config -g repo.packagist 确认值对不对,两步缺一不可。










