最有效解法是更换国内镜像源:临时用--repository参数、全局用composer config -g repo.packagist、项目级用composer config repo.packagist,需注意各源最新地址及失效处理。

Composer 下载慢,根本原因不是网络差,而是默认源 packagist.org 服务器在境外,且未启用国内 CDN。直接换国内镜像源是最有效解法,不需要改 hosts、装代理或折腾全局加速工具。
怎么临时切换镜像源(单次命令生效)
适合快速验证某个包能否安装成功,不改动本地配置:
- 运行
composer create-project laravel/laravel demo --repository=https://packagist.phpcomposer.com(旧版阿里/腾讯镜像已停用,慎用) - 更推荐用华为或阿里云当前可用源:
composer create-project laravel/laravel demo --repository=https://mirrors.huaweicloud.com/repository/php - 注意:
--repository只影响本次命令的包解析,composer install或composer update不会继承该设置
怎么永久修改全局镜像源(推荐方式)
执行一条命令即可,所有后续项目都走镜像源:
- 运行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(阿里云源,稳定常用) - 或换华为源:
composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php - 确认是否生效:执行
composer config -g repo.packagist,输出应为对应 URL - 如果提示 “No repositories configured”,说明配置未写入全局配置文件,可手动检查
~/.composer/config.json(Linux/macOS)或%USERPROFILE%\AppData\Roaming\Composer\config.json(Windows)
怎么为单个项目单独设镜像源
团队协作或测试不同源时需要,优先级高于全局设置:
- 进入项目根目录,运行
composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/(清华源,高校用户友好) - 该命令会向项目下的
composer.json写入"repositories"字段,内容类似:{"repositories": [{"type": "composer", "url": "https://mirrors.tuna.tsinghua.edu.cn/composer/"}]} - 注意:不要手动编辑
composer.json的repositories,容易格式错误导致composer install报错Could not load package xxx - 若想取消项目级设置,运行
composer config --unset repos.packagist
镜像源失效或报 404 怎么办
国内几个主流镜像源近年频繁调整路径或关停,常见现象是 composer update 卡住或返回 404 Not Found:
- 阿里云源地址已从
https://mirrors.aliyun.com/composer/改为https://mirrors.aliyun.com/php-composer/(2024 年起部分重定向失效) - 腾讯云源
https://mirrors.cloud.tencent.com/composer/已下线,继续使用会 404 - 最稳妥做法:定期检查各镜像站首页(如搜索“阿里云 composer 镜像”),以官网最新文档为准
- 临时救急:运行
composer config -g repo.packagist false关闭自定义源,回退到官方源(慢但可用)
镜像源不是一劳永逸的配置,尤其企业级项目上线前,建议在 CI 环境里显式指定源并验证 composer install 能否完成,避免因镜像不可用导致构建失败。










