必须切换国内镜像源;执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/并清缓存、删vendor与lock后重装,验证日志中出现镜像域名即生效。

国内PHP开发者执行composer install时经常卡在“Loading composer repositories”,下载速度长期低于100KB/s,甚至频繁超时中断——这通常不是项目本身的问题,而是默认连接海外Packagist源导致的网络瓶颈。
全局切换为国内镜像源
执行一条命令即可永久生效,所有后续项目自动走高速通道:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
该命令修改的是当前用户的~/.config/composer/config.json(Windows为%APPDATA%\Composer\config.json),无需逐个项目配置。若提示权限错误,请在Windows下右键命令行选择“以管理员身份运行”。
阿里云镜像每5分钟同步一次Packagist元数据,实测Laravel全量依赖安装从4分30秒降至18秒。
按项目单独配置镜像
适用于团队协作中需统一环境、或临时测试不同镜像效果的场景:
进入项目根目录,运行:
composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/
这条命令会直接改写项目内composer.json的repositories字段,生成如下结构:
"repositories": {"packagist.org": {"type": "composer", "url": "https://mirrors.tuna.tsinghua.edu.cn/composer/"}}
【注意】此操作会覆盖项目原有自定义仓库配置,如已配置私有Satis仓库,请先备份composer.json再执行。
验证镜像是否生效
方法一:查看当前仓库列表
composer config --list | grep repo
输出中应包含类似repo.packagist https://mirrors.aliyun.com/composer/的行。
方法二:触发一次元数据刷新
composer clear-cache && composer update --dry-run
观察终端第一行日志:若显示Downloading https://mirrors.aliyun.com/composer/packages.json即表示已成功切换。此步骤不实际安装包,仅检测源连通性与响应速度。
方法三:检查实际下载域名
执行composer require monolog/monolog,留意下载URL前缀是否为mirrors.aliyun.com或mirrors.tuna.tsinghua.edu.cn。一旦确认,后续所有install、update均自动加速。











