必须配阿里云镜像,否则composer install卡在loading composer repositories是常态;需执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(三要素缺一不可),并删vendor和composer.lock后重装。

必须配阿里云镜像,否则 composer install 卡在 Loading composer repositories 是常态,不是你网差,是 packagist.org 在国内根本连不通。
确认 PHP 可用且版本 ≥ 7.4
Composer 启动前会调用系统 php 命令,路径和版本不对,后续所有操作都白搭。
- 运行
php -v看输出是否 ≥ 7.4;若显示command not found或版本太低,先用brew install php - 运行
which php,确保返回类似/opt/homebrew/bin/php(Apple Silicon)或/usr/local/bin/php(Intel),而非系统自带的/usr/bin/php - 如果
which php为空,把 Homebrew 的 bin 路径加进~/.zshrc:export PATH="/opt/homebrew/bin:$PATH",然后source ~/.zshrc
全局配置阿里云镜像(最常用、最有效)
这条命令写入的是当前用户的 ~/.composer/config.json,所有项目默认走镜像,无需重启终端。
- 执行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否生效:
composer config -g repo.packagist—— 输出必须是{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}或纯 URL 字符串,末尾的/缺一不可,漏掉会导致 404 或静默 fallback 到官方源 - 常见错法:
repos.packagist(多一个 s)、https://mirrors.aliyun.com/composer(少斜杠)、http://(非 HTTPS)、漏掉composer类型参数 - 如果报
Could not open input file: composer,说明composer命令没进 PATH,检查是否已安装并软链到/usr/local/bin/composer
提升并发下载速度(别再卡在 Downloading)
Composer 2.2+ 默认只并发 3 个连接,对国内带宽严重浪费;不调这个,换镜像也快不起来。
- 查当前值:
composer config -g http-max-concurrent-downloads - 设为 10(推荐):
composer config -g http-max-concurrent-downloads 10 - 别设成 20:高并发可能触发
file_put_contents(/tmp/): failed to open stream - 如果已装过
hirak/prestissimo,必须先卸载:composer global remove hirak/prestissimo,它在 Composer 2.x 中已失效且会降级为单线程
为什么换了镜像还是慢?重点排查这三处
镜像配置只是第一步,后面还有几个容易被跳过的硬性条件。
-
composer.lock和vendor/残留旧包引用:首次用新镜像时大概率报 hash 不匹配,直接删掉vendor/和composer.lock再composer install - PHP 内存不足:
Resolving dependencies阶段卡住,常因memory_limit过低(如 128M),临时加COMPOSER_MEMORY_LIMIT=-1 composer install - CI 或宝塔中不生效:
-g写的是当前用户配置,但宝塔后台、Jenkins 通常以www或jenkins用户运行,需切换对应用户身份再执行composer config -g
镜像地址本身没问题,问题往往出在 /、composer 类型、http-max-concurrent-downloads 这三个点上——少一个,就等于没配。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











