在yii2基本应用程序的供应商文件夹中找不到Bower文件夹

时间:2015-03-25 13:01:55

标签: php composer-php yii2

我已经下载了一个基本的yii2应用程序。然后推入git.But然后在其他PC中我使用composer安装了所有依赖项。但我现在没有bower文件夹,所以得到错误:

  

The file or directory to be published does not exist: C:\xampp\htdocs\jumpbyte-site\vendor\bower/jquery/dist'

我的composer.json文件有以下必需依赖项:

"require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "*",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "himiklab/yii2-sitemap-module": "*"
    },

6 个答案:

答案 0 :(得分:12)

要通过Composer管理bower和npm软件包依赖项,您需要安装(全局)fxp/composer-asset-plugin

composer global require "fxp/composer-asset-plugin:~1.1.1"
composer install

了解详情:http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-via-composer

答案 1 :(得分:4)

首先下载默认依赖项

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

然后运行

composer install

然后重新加载您的网站。

答案 2 :(得分:1)

转到/vendor/yiisoft/yii2/base/Application.php。

转到第456行。

更改

  

Yii :: setAlias('@ bower',$ this-> _vendorPath.DIRECTORY_SEPARATOR。'bower');

  

Yii :: setAlias('@ bower',$ this-> _vendorPath.DIRECTORY_SEPARATOR。'bower'.DIRECTORY_SEPARATOR。'bower-asset');

答案 3 :(得分:1)

这可能会破坏某些东西,但这比试图解决作曲家问题要快得多。我也试过这个也无济于事。我只是想把它给它所要求的东西。

如果有人知道为什么这种解决方法不好,请说出来。

转到/vendor/yiisoft/yii2/base/Application.php。

    public function setVendorPath($path)
{
    $this->_vendorPath = Yii::getAlias($path);
    Yii::setAlias('@vendor', $this->_vendorPath);
    Yii::setAlias('@bower', $this->_vendorPath . DIRECTORY_SEPARATOR . 'bower-asset'); //it was just 'bower'
    Yii::setAlias('@npm', $this->_vendorPath . DIRECTORY_SEPARATOR . 'npm');
}

答案 4 :(得分:0)

(全新安装) 在Windows上。

  1. 删除Windows上的作曲家并重新安装。 之后
  2. composer global require "fxp/composer-asset-plugin:~1.1.1"
  3. composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
  4. (更新): 删除目录中的内容:

    1. 供应商删除文件
    2. composer.lock比
    3. composer install
    4. 多数人

答案 5 :(得分:0)

在我的情况下,我有旧版本的composer-asset-plugin,但它没有正常工作。只有更新帮助我。因此,请更新到composer-asset-plugin的最新版本:

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

看看^1.2.0。这很重要。

然后执行以下命令:

rm -rf vendor/*
rm composer.lock
composer install