停留在使用 Yii 2 和 PHP 进行 Web 应用程序开发的第 52 页

Stuck at page 52 of Web Application Development with Yii 2 and PHP

您好,我来到了第 52 页,我在尝试查看 customers/add 路线时遇到异常。

我设法通过创建软 link 来修复它 - 但为什么我需要这样做,这是修复它的正确方法还是本书与 yii 代码不同步 -基础

我检查了勘误并应用了建议的修复(以及示例下载书籍代码中的内容)

我知道书已经过时了 - 但这是我遇到的错误

PHP User Error – yii\base\ErrorException

Exception 'yii\base\InvalidParamException' with message 'The file or directory to be published does not exist: /var/www/html/crmapp/vendor/bower/jquery/dist' 

in /var/www/html/crmapp/vendor/yiisoft/yii2/web/AssetManager.php:385
...

现在 bower 目录不在我的机器上,尽管到目前为止我已经按照所有作曲家的说明安装了东西

[adrian@eagle:/var/www/html/crmapp]$ ls vendor/bower-asset/jquery/dist/
jquery.js  jquery.min.js  jquery.min.map
[adrian@eagle:/var/www/html/crmapp]$

好的,我设法通过创建一个软 link

来修复它
[adrian@eagle:/var/www/html/crmapp]$ ls -l vendor/
total 64
-rw-rw-r-- 1 adrian adrian  183 Jan  6 21:19 autoload.php
drwxrwxr-x 2 adrian adrian 4096 Jan  6 21:19 bin
lrwxrwxrwx 1 adrian adrian   12 Jan 12 19:28 bower -> bower-asset/
drwxrwxr-x 6 adrian adrian 4096 Jan  6 21:19 bower-asset
drwxrwxr-x 3 adrian adrian 4096 Jan  6 21:19 cebe

图书: https://www.packtpub.com/web-development/web-application-development-yii-2-and-php

此文件夹的名称应为 bower 而不是 bower-asset。重命名是自动管理的。

你有关注 installation instructions 吗?

我认为问题是您在安装/更新 composer 包之前没有执行此命令:

composer global require "fxp/composer-asset-plugin:~1.0.3"

应该只运行一次,然后再运行composer update

您可以在 official Github page 上找到有关此插件的更多信息。

更新:

经过更详细的调查,我发现他试图在没有模板的情况下从头开始构建应用程序。

composer.json 不是最新的框架最后更改。缺少这些设置:

"minimum-stability": "dev",
"extra": {
    "asset-installer-paths": {
        "npm-asset-library": "vendor/npm",
        "bower-asset-library": "vendor/bower"
    }
}

正如 Adrian 所说,本书部分未提及这些细节。

此处提供了每个模板的最新 composer.json 文件: