Yii2全新安装:vendor / bower / jquery / dist路径错误

时间:2015-12-21 19:04:24

标签: yii2 composer-php bower

我刚刚使用composer安装了yii2(高级版)。我已经设置了nginx等等。

但它不起作用:

Invalid Parameter – yii\base\InvalidParamException

The file or directory to be published does not exist: /srv/www/site/vendor/bower/jquery/dist

在文件夹' vendor / bower'有唯一的子文件夹' bower-assets'在其中使用&jquery'等。但在供应商/凉亭中没有jquery。

如何解决这个问题?

5 个答案:

答案 0 :(得分:8)

请参考installation guide。您似乎缺少资产插件:

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

答案 1 :(得分:4)

确保您已执行此命令:

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

另外,请检查你的composer.json以下内容:

  • 已弃用,但是来自Yii2的默认选项:

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

  • 新选项

    "config": { "fxp-asset": { "installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" }, } },

如果您已有composer update个文件,则运行composer.lock;如果您还没有composer install个文件,则运行composer.lock

答案 2 :(得分:2)

我遇到了同样的问题,
这就是我的解决方法-

  • 前往供应商。

    $ cd projectFile / vendor /

  • 用凉亭重命名凉亭资产

    $ mv bower-asset / bower

  • 重新启动Mamp / xamp

此问题已解决,http://localhost:8888/运行良好。

答案 3 :(得分:1)

检查项目根目录中的composer.json文件。你应该有一个看起来像这样的部分;

    "asset-installer-paths": {
        "bower-asset-library": "vendor/bower-assets"
    }

这告诉作曲家在哪里找到凉亭文件库。您可能需要在之后运行composer update以更新hte位置。

答案 4 :(得分:0)

您的jquery/dist似乎位于bower/bower-asset下,而不是bower下。 为了解决您的问题,请移动所有bower-asset内容,包括jquery子文件夹和其他内容,例如:bootstrapyii2-pjaxpuny code等{{} 1}}文件夹(一级)。所有这些子文件夹与bower文件夹下的bower-asset处于同一级别。现在,您可以根据需要删除bower文件夹。

之前:

  

bower-asset

现在你有:

  

vendor/bower/bower-asset/jquery/dist/...

不应该有任何vendor/bower/jquery/dist...子文件夹。

这将解决您的问题,bower-asset应用将按预期工作。