在 Linux 上使用 Composer 感觉“慢”,通常不是单一原因,而是下面几类问题叠加导致的。我按最常见 → 较少见给你梳理,并附上对应解决办法。
Composer 默认从 packagist.org 拉取包元数据,从 GitHub 下载代码。
表现
composer install 卡在 Loading composer repositories解决办法
# 使用国内镜像(推荐)
composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/
# 或
composer config -g repos.packagist composer https://packagist.phpcomposer.com
注意:镜像只解决“元数据 + 下载”,不解决你服务器到 GitHub 的网络问题
没配置 token 时,Composer 匿名访问 GitHub API,容易被限流。
解决办法
composer config -g github-oauth.github.com your_token
GitHub → Settings → Developer settings → Personal access token
默认是有缓存的,但有些人会误关。
检查:
composer config -g cache-dir
清缓存有时反而能解决“卡死”:
composer clearcache
如果你经常:
composer.jsoncomposer.lockrm -rf vendor那当然慢。
✅ 正确做法:
composer.lockcomposer install 而不是 updateComposer 会:
vendor/在:
会非常慢。
优化
vendor 放本地磁盘Composer 2 比 1 快很多。
检查:
composer --version
✅ 建议:
升级:
composer self-update
"require-dev": {
"phpunit/phpunit": "..."
}
生产环境:
composer install --no-dev --optimize-autoloader
* 或 dev-master会导致:
✅ 固定版本号
你可以先看清“卡在哪”:
composer install -vvv
常见卡点:
Loading composer repositories → 网络Extracting archive → IOGenerating autoload files → 正常Linux 上 Composer 慢,90% 是网络 + 镜像问题,剩下是磁盘 IO 和依赖管理方式。
如果你愿意,可以告诉我:
我可以直接给你一套最优配置。