Composer全局更换阿里云镜像源执行composer config -g repo.packagist https://mirrors.aliyun.com/composer/,末尾斜杠不可省;项目级临时切换用--repository-url参数;laravel/installer卡顿多因GitHub API限流,需配token或改用git克隆。

Composer全局更换阿里云镜像源(Laravel项目通用)
直接改全局配置最省事,所有 Laravel 项目都会生效,不用每个项目单独配。执行这条命令就能覆盖默认源:
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 parse version constraint 错误。
项目级临时切换(适合 CI 或多源调试)
有些场景下你不想动全局设置,比如在 GitHub Actions 里跑构建,或者本地同时测试腾讯云、华为云等不同镜像。这时用 -vvv 加 --repository-url 最干净:
composer install -vvv --repository-url=https://mirrors.aliyun.com/composer/
这个参数优先级高于全局和项目配置,且不会写入 composer.json 或 composer.lock,适合脚本化调用。但注意:如果项目已存在 composer.lock,且里面记录的是 packagist.org 的哈希,强行换源可能导致 install 失败,此时建议先删 lock 文件再重装。
laravel/installer 自身卡住?不是镜像问题
很多人执行 composer create-project laravel/laravel 卡在 “Installing dependencies”,以为是镜像慢,其实大概率是 laravel/installer 在拉取最新 Laravel 模板时触发了 GitHub API 限流(尤其没配 GITHUB_TOKEN 时)。解决方法不是换镜像,而是:
- 给 Composer 配 GitHub token:
composer config -g github-oauth.github.com your_token_here - 或跳过 installer,直接用 Git 克隆稳定版本:
git clone --depth=1 https://github.com/laravel/laravel.git myapp,再进目录composer install - 确认是否被国内 DNS 污染导致
api.github.com解析异常,可临时加 hosts:140.82.112.4 api.github.com
换源后 still slow?检查是否启用了 HTTPS 代理或公司防火墙
阿里云镜像本身响应很快(通常 Downloading... 或 Resolving dependencies 阶段,大概率是网络中间层干扰:
- 运行
curl -I https://mirrors.aliyun.com/composer/packages.json看是否能秒回 HTTP 200 - 检查终端是否被
http_proxy/https_proxy环境变量劫持(env | grep -i proxy) - 某些企业网络会拦截并缓存 Composer 的 JSON 元数据,导致依赖解析卡死——此时需联系 IT 关闭相关策略
镜像只是加速分发环节,解析逻辑、依赖树计算、PHP 扩展加载这些都在本地,换源解决不了它们的性能瓶颈。










