【问题标题】:Yii2 fresh install: vendor/bower/jquery/dist path is wrongYii2 全新安装:vendor/bower/jquery/dist 路径错误
【发布时间】: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。

如何解决这个问题?

【问题讨论】:

    标签: yii2 composer-php bower


    【解决方案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 应用程序将正常运行。

      【讨论】:

      • 这完全是错误的方式,对不起。您特此将您的资产从更新中分离出来。将再次创建相同的文件夹并进行更新......但遗憾的是没有使用;)!
      • 错误的做法。当您执行“作曲家更新”时,它将再次更新
      猜你喜欢
      • 2019-04-06
      • 2015-09-22
      • 1970-01-01
      • 2018-11-09
      • 2016-04-24
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2016-05-24
      相关资源
      最近更新 更多