换阿里云或腾讯云镜像可大幅提升Composer下载速度,执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/即可全局生效,验证命令为composer config -g repo.packagist。

直接改全局配置,下载速度立马变快
Composer 默认从 packagist.org 拉元数据,国内直连慢、超时、偶尔 503,这不是你网络差,是物理距离+防火墙导致的。换成阿里云或腾讯云镜像后,composer install 和 composer update 通常能从几分钟降到几秒。
最简单有效的做法就是执行这一条命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
执行完立刻生效,不用重启终端,也不用改任何文件。验证是否成功?运行:
composer config -g repo.packagist
输出应为:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
- 如果报错
Could not open input file: composer,说明composer命令没进 PATH,先确认安装路径(比如/usr/local/bin/composer)并补全环境变量 - 如果提示
Warning: putenv() has been disabled,说明 PHP 禁用了该函数——去php.ini里检查disable_functions,删掉putenv和proc_open,然后重启 PHP-FPM 或 Apache - 别用已停更的
https://packagist.phpcomposer.com,它早在 2022 年就下线了,现在会 404 或跳转失败
临时换源:只对某一次命令生效
有时候你只想试一个包、或者团队还没统一镜像,又不想动全局配置,那就用 --repository 参数临时指定:
composer create-project laravel/laravel myapp --repository=https://mirrors.aliyun.com/composer/
composer update -vvv --repository=https://mirrors.cloud.tencent.com/composer/
-vvv 不是必须的,但它能打印出实际请求的 URL,帮你一眼确认当前走的是哪个源——这是排查“为什么还是慢”的第一手证据。
- 注意:临时参数优先级高于全局配置,但仅限当次命令;关掉终端再开,就恢复原样
- 别写成
--repository-url或--mirror,Composer 不认这些参数名,会静默忽略 - 如果项目里已有
repositories字段(比如私有包配置),临时--repository会覆盖整个源列表,可能让私有包找不到——这种场景建议改项目级配置
项目级配置:不污染全局,适合协作
进到项目根目录,运行(去掉 -g):
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
这条命令会往你项目的 composer.json 里加一段:
"repositories": {
"packagist": {
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
}
所有协作者拉代码后,composer install 自动走这个源,无需额外操作。
- 想删掉?运行
composer config --unset repositories.packagist,它会精准移除这段,不会误删其他repositories条目 - 如果
composer.json里已有repositories数组(比如还配了私有 Git 包),这条命令会合并进去,不是覆盖整块 JSON - 别手动编辑
composer.json加repositories——容易格式错误导致后续命令报JSON decode error
镜像选哪个?阿里云和腾讯云都行,但要注意细节
阿里云(https://mirrors.aliyun.com/composer/)和腾讯云(https://mirrors.cloud.tencent.com/composer/)目前同步及时、服务稳定,二者性能差别不大。华为云和安畅网络镜像也存在,但更新延迟偶有发生,非必要不首选。
- 腾讯云地址常被误写成
https://mirrors.tencent.com/composer/(少cloud),会 404;正确是https://mirrors.cloud.tencent.com/composer/ - 阿里云镜像支持 HTTPS 强制跳转,但如果你的服务器时间偏差超过 5 分钟,可能因证书校验失败而卡住——检查系统时间:
date - 镜像只加速元数据(
packages.json)和 ZIP 包分发;真正下载 ZIP 时仍可能走 GitHub/GitLab,所以若项目依赖大量 GitHub 私有库,镜像对这部分无加速效果
改完别忘了跑一次 composer clear-cache,避免旧缓存干扰验证。










