国内用户安装 yii2 卡在 asset 依赖是因默认源 asset-packagist.org 响应慢,需将 composer.json 中该源替换为 https://www.php.cn/link/564d821b70f17d228316b4584180987c,禁用 fxp-asset 插件,配置 @bower 别名指向 @vendor/bower-asset。

安装 Yii2 卡在 asset 相关依赖上,核心问题不是网络差,而是默认用的 asset-packagist.org 国外源响应极慢甚至超时。国内用户必须手动切换为中文镜像 asset-packagist.cn,否则 create-project 会卡在 “Resolving dependencies” 或反复重试子包下载。
项目级替换 asset-packagist 源(必做)
该操作针对已生成但尚未完成安装的项目,或安装失败后需修复的项目:
- 打开项目根目录下的 composer.json
- 找到
"repositories"字段(若无则新增),将其中指向https://asset-packagist.org的条目,全部替换成:{"type": "composer", "url": "https://www.php.cn/link/564d821b70f17d228316b4584180987c"} - 保存后执行:
composer update --lock(仅更新锁文件,不重装包)
或更稳妥地:composer clear-cache && composer install
禁用 fxp-asset 插件(推荐同步执行)
fxp/composer-asset-plugin 是旧方案,依赖 Node.js、进程多、易权限报错、严重拖慢安装。应彻底停用:
- 在 composer.json 的
"config"节内添加:"fxp-asset": {"enabled": false} - 删除
"replace"下所有以bower-asset/开头的条目(如"bower-asset/jquery"),否则 Composer 会跳过安装对应资源 - 确保
"repositories"中只保留asset-packagist.cn这一条 composer 类型源
验证与辅助排查
换源后仍失败?别急着重试,先快速定位问题:
- 访问 https://www.php.cn/link/564d821b70f17d228316b4584180987c,用顶部搜索框查你要装的包(如
jquery、bootstrap),确认状态是否为 “healthy” - 执行
composer config -g -l | findstr repo.packagist(Windows)或composer config -g -l | grep repo.packagist(Mac/Linux),确保全局 packagist 源也已换成阿里云或 phpcomposer 镜像(如https://mirrors.aliyun.com/composer/) - 若提示 PHP 版本不兼容,可在命令末尾加
--ignore-platform-reqs临时绕过(仅限开发环境)
别名配置(安装成功后必须补)
AssetPackagist 安装的资源默认放在 vendor/bower-asset/,Yii2 需要正确识别路径:
- 编辑
frontend/config/main.php和backend/config/main.php - 在
'aliases' => [...]数组中加入:'@bower' => '@vendor/bower-asset',
如项目用到 npm 包,再加:'@npm' => '@vendor/npm-asset',











