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

Posted

技术标签:

【中文标题】Yii2 全新安装:vendor/bower/jquery/dist 路径错误【英文标题】:Yii2 fresh install: vendor/bower/jquery/dist path is wrong 【发布时间】:2016-03-27 22:28:29 【问题描述】:

我刚刚使用 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。

如何解决这个问题?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

请不要对多个问题发布相同的答案。发布一个好的答案,然后投票/标记以关闭其他问题作为重复问题。如果问题不是重复的,调整您对该问题的回答 从我的测试看来,这个包确实需要global。我试过把它只包含在我的 yii 项目中,但没有运气。【参考方案2】:

确保您已执行此命令:

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.lock 文件,则运行 composer update;如果您还没有 composer.lock 文件,则运行 composer install

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

在我编辑掉最后一个 s 之后,这个解决方案对我有用。应该是"bower-asset-library": "vendor/bower-asset" @contemplator 只要实际存在具有该名称的文件夹,资产文件夹的名称实际上并不重要。在您的本地计算机上,该文件夹是 bower-asset。在我这里是凉亭资产。名称无关紧要,只要composer文件中的条目指向正确的地方【参考方案4】:

我遇到了同样的问题, 这就是我修复它的方法-

去供应商。

$ cd projectFile/vendor/

用 bower 重命名 bower-asset

$ mv bower-asset/ bower

重启 mamp/xamp

这解决了问题,http://localhost:8888/ 运行良好。

【讨论】:

错误的做法。当您执行“作曲家更新”时,它将再次更新【参考方案5】:

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

之前:

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

现在你有:

vendor/bower/jquery/dist...

不应有任何bower-asset 子文件夹。

这将解决您的问题,yii2 应用程序将正常运行。

【讨论】:

这完全是错误的方式,对不起。您特此将您的资产从更新中分离出来。将再次创建相同的文件夹并进行更新......但遗憾的是没有使用;)! 错误的做法。当您执行“作曲家更新”时,它将再次更新

以上是关于Yii2 全新安装:vendor/bower/jquery/dist 路径错误的主要内容,如果未能解决你的问题,请参考以下文章

YII2 安装入门

yii2如何环境部署?yii2高级模版安装教程

Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息

yii2 实战教程之如何安装

yii2入门安装 Windows7+wamp+yii2

Composer 无法安装 yii2 扩展