Папка Bower не найдена в папке поставщика в базовом приложении yii2

Я загрузил базовое приложение yii2.А потом толкнул в git.Но затем на другом ПК я установил все зависимости с помощью композитора. Но теперь у меня нет папки bower, поэтому я получаю ошибку:

The file or directory to be published does not exist: C:xampphtdocsjumpbyte-sitevendorbower/jquery/dist'

мой композитор.файл json имеет следующие зависимости:

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

6 ответов


чтобы управлять зависимостями пакетов bower и npm через Composer, вам необходимо установить (глобально) 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


сначала загрузите зависимости по умолчанию

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

затем просто запустить

composer install

перезагрузите свой сайт.


Гото /поставщика/зависимостей/коде с Yii2/базы/приложения.РНР.

Гото линия 456.

изменить

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

до

Yii:: setAlias('@bower', $this->_vendorPath . DIRECTORY_SEPARATOR . "Бауэр". DIRECTORY_SEPARATOR . 'bower-asset');


это может сломать что-то позже, но это было намного быстрее, чем пытаться искоренить проблему композитора. Я тоже пытался, но безрезультатно. Я просто решил дать ему то, о чем он просил.

Если кто-то знает, почему этот обходной путь не хорош, пожалуйста, говорите.

Гото /поставщика/зависимостей/коде с Yii2/базы/приложения.РНР.

    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');
}

(для свежей установки.) в 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

(для обновления): удалить содержимое каталога:

  1. поставщик удалить файл
  2. композитор.замок, чем
  3. composer install

вот и все


в моем случае у меня была старая версия 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