应优先切换至阿里云或腾讯云镜像,执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/或对应腾讯云地址,切后需运行composer clear-cache并验证输出;华为云镜像已不可用,中科大与phpcomposer.com镜像均已停用。

Composer 默认源在国外,国内直连经常超时、卡死、安装失败——换镜像不是“锦上添花”,而是刚需。国内主流镜像(如阿里、腾讯、华为)基本可用,但必须注意:它们并非永久稳定,且部分已停用或限速。
怎么快速切换到可用的中文镜像?
执行一条命令就能全局切换,但得选对地址。目前(2024 年中)仍稳定可用的是腾讯云镜像和阿里云镜像,华为镜像已下线,中科大镜像已停止维护。
- 切到腾讯云镜像:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 切回官方源(排查问题时用):
composer config -g --unset repos.packagist - 验证是否生效:
composer config -g repo.packagist,输出应为镜像 URL,而非null
别用网上搜到的“https://packagist.phpcomposer.com”——该域名早已失效,会报 Connection refused 或 SSL certificate problem 错误。
为什么 composer install 还是慢?检查这三点
换了镜像还卡在 Resolving dependencies 或下载某一个包特别慢,大概率不是源的问题,而是本地配置或依赖本身的问题。
- 确认没在项目根目录存在
composer.json里硬编码了私有源(比如"repositories"字段写了不可达的 URL) - 删掉
vendor/和composer.lock再试——旧 lock 文件可能锁定了国外源的包版本,导致 Composer 仍尝试从原始地址解析 - 运行
composer install -v(加 verbose),看卡在哪一行;如果卡在Downloading https://…且域名不是镜像地址,说明某个包的 dist URL 是硬编码的,镜像无法代理
composer create-project 也走镜像吗?
走。只要全局镜像配置生效,create-project 初始化时拉取 composer/composer 及其依赖,全部经由你设的镜像中转。但要注意:
- 首次运行时若本地没缓存,仍需完整下载 vendor 包,耗时取决于网络质量,不是“秒装”
- 某些脚手架项目(如 Laravel 的
laravel/laravel)自带repositories配置,会覆盖全局镜像,此时得手动删掉或改写 - 用
-n参数跳过交互提示,配合镜像可实现全自动初始化:composer create-project laravel/laravel myapp -n
镜像不是万能解药:它只加速 HTTP 下载,不解决循环依赖、PHP 版本不兼容、扩展缺失这些根本问题。真正卡住的时候,先看 composer why-not xxx,再查镜像。











