换源可大幅提升 Composer 下载速度,推荐全局配置阿里云镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,速度可达1–5 MB/s,耗时降60%以上。

直接换源就能快,别等 Composer 自己“悟”
Composer 默认从海外 packagist.org 下载包,国内直连常卡在 10–30 KB/s 甚至超时。这不是你网络差,是物理距离+TLS握手+CDN未缓存共同导致的。换国内全量镜像后,多数包下载速度能稳定在 1–5 MB/s,composer install 耗时通常下降 60% 以上。
全局配置阿里云镜像(最常用、最稳)
执行一条命令即可生效,所有新老项目自动走镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/- 验证是否写入成功:
composer config -g repo.packagist,输出应为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 注意:
-g表示全局,配置写入~/.composer/config.json(macOS/Linux)或C:\Users\用户名\AppData\Roaming\Composer\config.json(Windows),换电脑需重配 - 阿里云镜像是目前最稳定的全量同步源,每日更新,支持 HTTPS + HTTP/2,不推荐用已停更的
packagist.phpcomposer.com
只给当前项目换源(团队协作/临时测试用)
进项目根目录运行,不加 -g,配置会写进 composer.json 的 repositories 字段里:
composer config repo.packagist composer https://mirrors.cloud.tencent.com/composer/- 执行后检查
composer.json是否新增了类似内容:"repositories": { "packagist": { "type": "composer", "url": "https://mirrors.cloud.tencent.com/composer/" } } - 该方式适合 CI 环境或想让队友也走同一镜像——但要注意:如果项目已提交过
composer.lock,换源后首次composer install可能触发 hash 校验失败,此时可删掉vendor和composer.lock重装
换源后仍慢?先排除这几个坑
镜像本身没问题,但常见误操作会让加速失效:
- 误用了
--repository临时参数却没加-vvv,导致根本没走指定地址(临时切换必须配合composer update --repository=xxx -vvv才能看到实际请求 URL) - 本地开了代理或公司防火墙拦截了镜像域名(如
mirrors.aliyun.com),可尝试浏览器直接访问该 URL 测试连通性 - 镜像源被手动设成非全量类型(比如误写成
"type": "package"),会导致 Composer 回退到默认源;正确 type 必须是"composer" - 执行
composer clear-cache后再试——旧缓存可能残留国外源的元数据
真正容易被忽略的是:镜像只加速「元数据拉取」和「zip 包下载」,不解决 autoload 生成慢、PHP 编译耗时高、或依赖树冲突这类问题。如果换源后 install 仍卡在「Generating autoload files」或「Resolving dependencies」,那得另查 PHP 配置或依赖版本锁定了。










