应改用 yidas/yii2-bower-asset 替代已废弃的 fxp/composer-asset-plugin,删除 composer.json 中 asset-installer-paths 配置,清缓存后执行 composer install --prefer-dist。

composer install 报 No valid bower.json was found 怎么办
这是 Yii 2(尤其是 yii2-app-advanced)最典型的安装中断错误,本质是 Composer 试图从 GitHub 拉取 Bower 包时被限流或认证拒绝,不是你本地环境坏了。
关键点在于:Yii 2 早期版本依赖 fxp/composer-asset-plugin 解析 Bower 包,而该插件在 Composer 2.x 中已废弃,但老项目模板仍会触发它去访问 GitHub API —— 若没配 token,GitHub 直接返回 403 或空响应,报出这个看似“找不到 bower.json”的假错。
- 先确认是否用了旧版模板(如 2.0.x):
cat composer.json | grep "yiisoft/yii2.*2\.0\." - 不要硬装
fxp/composer-asset-plugin(它不兼容 Composer 2.2+,装了反而报no matching package found) - 改用
yidas/yii2-bower-asset替代:运行composer require yidas/yii2-bower-asset - 然后删掉
composer.json里整个"extra": {"asset-installer-paths": ...}块(新版插件自动处理路径) - 最后清缓存重试:
composer clear-cache && composer install --prefer-dist
执行 composer create-project 卡住或超时
不是网络慢,是默认源 https://packagist.org 对国内 IP 的连接策略变严,尤其带大量 asset 依赖的 Yii 项目,常卡在 “Loading composer repositories” 或下载中途断连。
别碰 github-oauth 配置 —— 这是治标不治本的老方案,且 token 有权限和有效期风险。直接切国内镜像更稳:
- 全局生效(推荐):
composer config -g repo.packagist composer https://packagist.phpcomposer.com - 若提示 404,换新镜像:
composer config -g repos.packagist composer https://php.cnpkg.org - 仅对当前项目生效(更安全):
composer config repo.packagist composer https://packagist.phpcomposer.com - 执行前加
-vvv查看卡在哪:composer create-project yiisoft/yii2-app-basic basic --prefer-dist -vvv
注意:镜像只加速 PHP 包,Bower/NPM 包仍需靠 yidas/yii2-bower-asset 绕过。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
Could not open input file: composer.phar 是路径问题
这个错说明系统根本没识别到 composer 命令,不是 Yii 的问题,而是 Composer 本身没装好或没进 PATH。
验证方式:which composer 或 composer --version。如果报 command not found,别急着重装:
- 先检查是否已有
composer.phar文件(比如在~/Downloads/composer.phar),直接运行:php ~/Downloads/composer.phar install - 设为全局命令(Mac/Linux):
sudo mv composer.phar /usr/local/bin/composer - Windows 用户请把 php 所在目录和 composer.phar 所在目录都加进系统环境变量
PATH - 避免用 curl 管道安装(
curl -sS https://getcomposer.org/installer | php),容易因网络中断生成损坏的 phar
安装后访问 /frontend/web/ 报 404 或白屏
这不是 Composer 错误,但常被误认为安装失败。Yii 2 Advanced 模板的入口文件不在根目录,Web 服务器必须指向 frontend/web 或 backend/web 子目录,且需正确配置 URL 重写。
Apache 用户检查 .htaccess 是否启用;Nginx 用户重点看 location / 块是否包含 try_files $uri $uri/ /index.php?$args;;本地开发用 PHP 内置服务器可临时绕过:
- 进
frontend/web目录:cd frontend/web - 启动服务:
php -S localhost:8080 router.php(router.php在 Yii 2 Advanced 模板中已自带) - 若仍白屏,检查
runtime/和web/assets/是否可写(chmod 775) - 别忽略
cookieValidationKey—— 若config/web.php里'cookieValidationKey' => '',登录、表单提交全失效
真正麻烦的是混合环境:有人在 Docker 里跑 Nginx + PHP-FPM,却把 root 指向了项目根而非 web 子目录,这种错不会报 Composer 异常,但永远打不开首页。










