composer install卡在downloading主因是镜像未生效:需执行composer config -g repo.packagist确认输出为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}(末尾斜杠不可少),再运行composer clear-cache清除旧元数据缓存。

composer install 还卡在 downloading?镜像没生效是主因
90% 的“慢”根本不是网络问题,而是 composer install 仍在连 https://packagist.org。必须亲眼确认镜像已写入且缓存已清:composer config -g repo.packagist 输出必须是完整 JSON,含 "url": "https://mirrors.aliyun.com/composer/"(末尾斜杠不能少);接着执行 composer clear-cache,否则旧元数据还在本地,根本不发请求。
全局插件安装慢?composer global require 不读项目配置
装 hirak/prestissimo 或其他全局插件时卡住,是因为它只认 ~/.composer/config.json,和当前项目无关。常见失效点:
- 用
sudo composer config -g写进了/root/.composer/config.json,但实际运行的是普通用户,读的是$HOME/.composer/config.json -
php.ini中禁用了putenv(),导致config -g静默失败 - 没验证是否真走镜像:执行
composer global require monolog/monolog -vvv 2>&1 | grep "packages.json",看到mirrors.aliyun.com/composer/packages.json才算落地
prestissimo 装了但没加速?它已被 Composer 2.2+ 原生替代
hirak/prestissimo 在 Composer 2.2+ 中已无必要——并行下载已内置。直接设并发数即可:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 检查版本:
composer --version,低于 2.2 则升级 - 启用并发:
composer config -g parallel-downloads 10(设太高易触发临时文件竞争,CI 环境建议 6–8) - 强制 dist:
composer config -g prefer-dist true,避免 fallback 到 git clone - 注意:
prefer-source: true在项目composer.json中会覆盖全局设置,必须删掉
Resolving dependencies 卡几十秒?和镜像完全无关
这个阶段纯本地计算,不发任何网络请求。卡住说明依赖约束太宽或结构混乱:
-
"php": "^7.4 || ^8.0 || ^8.1"这类多版本约束会让 Composer 穷举组合,指数级爆炸 -
"minimum-stability": "dev"或未锁定的require-dev工具包(如 phpstan、psalm)大幅增加候选版本数 - 项目里残留已下线的私有源地址,Composer 会逐个探测超时
- 验证方式:删掉
vendor和composer.lock,跑composer install -vvv,看日志最卡在哪一行——如果是Resolving dependencies后长时间停顿,就不是镜像的事
真正容易被忽略的点是:缓存目录权限、PHP 扩展缺失(openssl 和 curl 必须启用)、以及 Xdebug 默认开启时会让依赖解析慢 5–10 倍——哪怕你已经换镜像、开并发,它也能把你拖回原形。










