最稳妥的方式是全局配置,执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/或composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/即可一劳永逸;注意-g表示全局生效,写入~/.composer/config.json,且需运行composer clear-cache并用-vvv验证日志中url是否变更。

Composer 默认用的是国外源,国内直接 composer install 经常卡在 Downloading... 或报 Connection refused 错误——换中文镜像源不是可选项,是刚需。
怎么快速切换到阿里云或腾讯云镜像?
最稳妥的方式是全局配置,一劳永逸。执行以下任一命令即可:
- 阿里云源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 腾讯云源:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
注意:-g 表示全局生效(写入 ~/.composer/config.json),不需要每次进项目都重复设。如果只想改当前项目,去掉 -g,并在项目根目录下运行。
为什么 composer create-project 还是慢?
因为 create-project 会先拉取 composer/composer 自身的依赖,这部分不走你配的 packagist 镜像,而是直连 GitHub —— 这才是卡顿主因。
- 解决办法:提前设置 GitHub 镜像代理(如使用
git clone的insteadOf规则) - 更简单做法:加
--prefer-dist参数,强制下载压缩包而非 git clone:composer create-project laravel/laravel myapp --prefer-dist - 若仍失败,临时用
COMPOSER_DISABLE_TLS=1绕过证书校验(仅调试,勿长期启用)
配置后 composer show 显示源还是 packagist.org?
这是正常现象。composer show 查的是包元数据来源,不是实际下载地址。真正起作用的是 composer install 时的下载行为。
- 验证是否生效:运行
composer install -vvv,观察日志里出现的 URL 是否为mirrors.aliyun.com或mirrors.cloud.tencent.com - 常见干扰:项目根目录下有
composer.json里写了"repositories",会覆盖全局配置,优先级更高 - 想彻底清理:删掉
repositories字段,或显式设为{"packagist.org": false}再启用镜像
镜像源不是万能的,有些私有包或 dev 分支仍需直连原厂;另外,不同镜像同步延迟可能达数小时,遇到刚发布的包找不到,别急着换源,先等一等。











