必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/换全局镜像源,末尾斜杠不可省;同时卸载fxp/composer-asset-plugin并配置asset-packagist.cn,再清理缓存与lock文件方可提速。

换全局镜像源是提速前提
不换全局源,只改项目里的 composer.json 无效——create-project 阶段根本没进项目目录,压根读不到。必须执行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
注意末尾斜杠 / 不可省,漏掉会导致 Composer 2.2+ 静默回退到官方源,你完全感知不到慢的根源。
验证是否生效:
composer config -g repo.packagist
输出应为 https://mirrors.aliyun.com/composer/;不是这个,就重跑一遍命令。
禁用 fxp/composer-asset-plugin 才能真正快起来
这个插件已废弃多年,却仍是 Yii2 安装卡死的主因:它强行拉 Bower 包,而国内访问 bower.io 基本超时。继续留着,composer install 会启一堆 Node.js 进程、反复失败、耗时翻 3–5 倍。
正确做法是彻底卸载并切换到纯 Composer 方式:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer global remove fxp/composer-asset-plugincomposer config -g fxp-asset.installer-paths {"npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower"}composer config -g repositories.asset-packagist '{"type": "composer", "url": "https://asset-packagist.cn"}'
别忘了删掉 composer.json 中所有 "replace": {"bower-asset/*": "*"} 这类声明,否则 Composer 会跳过安装前端资源。
安装扩展时加参数绕过常见卡点
即使换了镜像,装扩展仍可能卡在 yii2-auth-client 或 github.com 超时,本质还是源没兜住。这时别硬等,直接加参数干预:
-
--prefer-dist:强制下载 ZIP 包,比 Git clone 快且不依赖 GitHub SSH 或 HTTPS -
--ignore-platform-reqs:绕过 PHP 版本限制(比如你用 PHP 7.3 装要求 ≥7.4 的扩展) -
--no-scripts:跳过 post-install-cmd 脚本,避免因环境缺失中断
例如安装 yiisoft/yii2-redis:
composer require --prefer-dist --ignore-platform-reqs --no-scripts yiisoft/yii2-redis
缓存和锁文件不清理,镜像也白配
已有 composer.lock 的项目,首次用新镜像 install,大概率报 hash mismatch 错误——因为旧 lock 文件里记录的是国外源的 hash 值,和镜像源返回的包不一致。
这不是镜像问题,是缓存污染。必须清干净再重来:
composer clear-cache-
rm -rf vendor composer.lock(Windows 下用rd /s/q vendor+ 手动删composer.lock) - 再跑
composer install或composer update
尤其在 CI 环境或多人协作项目里,这一步最容易被忽略,结果以为镜像没生效,其实只是缓存没清。










