安装 yii2 卡住主因是 composer 默认国外源不可用,须执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 换阿里云镜像源,并禁用 fxp-asset 插件、绕过 php 版本限制、关闭 xdebug 等提速措施。

安装 Yii2 卡住不动,大概率不是你网络差,而是 Composer 默认走国外源,国内直连 packagist.org 基本不可用——DNS 解析慢、连接超时、API 访问失败,尤其在 create-project 阶段卡在 “Resolving dependencies” 或反复尝试克隆子包时,本质是源没换对。
必须全局换阿里云镜像源
项目级配置(比如改 composer.json 里的 repositories)对 create-project 完全无效,它还没进项目目录,根本读不到。真正起作用的只有一条命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/- 执行后运行
composer config -g -l,确认输出中repo.packagist的值是阿里云地址 - 顺手清缓存:
composer clear-cache
禁用 fxp-asset 插件,改用 asset-packagist.cn
旧版 Yii2 依赖 fxp/composer-asset-plugin 下 Bower 包,会拉 Node.js、启大量进程,安装时间翻好几倍,还容易权限报错。正确做法是彻底禁用它:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 在
composer.json的"config"节加:"fxp-asset": {"enabled": false} - 同时添加仓库:
{"type": "composer", "url": "https://asset-packagist.cn"} - 删掉
"replace"里所有bower-asset/*条目,否则 Composer 会跳过安装 - 别忘了在
frontend/config/main.php和backend/config/main.php中注册别名:'@bower' => '@vendor/bower-asset'
绕过 PHP 版本限制和自动脚本
本地 PHP 是 7.3 或更低?create-project 会直接退出,因为 yii2-app-advanced 要求 PHP ≥7.4。不用升级 PHP,加两个参数就能继续:
-
--ignore-platform-reqs:跳过 PHP 版本等平台检查 -
--no-scripts:跳过自动执行init等脚本,避免中途卡死 - 再加上
--prefer-dist:强制下 ZIP 包,比 Git clone 快且不依赖 SSH 或 Git 配置 - 完整命令示例:
composer create-project --prefer-dist --no-scripts --ignore-platform-reqs yiisoft/yii2-app-advanced advanced
辅助提速细节不能漏
换源之后还慢?常见瓶颈其实在本地环境:
- 临时禁用 Xdebug:
php -v看是否含 xdebug,有就关掉再跑命令 - 调高内存限制:
COMPOSER_MEMORY_LIMIT=-1 composer install - 删干净再重装:
rm -rf vendor composer.lock,再用composer install --no-cache - 确保用的是 Composer 2.9.6 或更高版本,它优化了依赖解析与并行下载










