2015-03-25 12 views
6

Pobrałem podstawową aplikację yii2. Następnie wepchnąłem ją do git. Ale potem na innym komputerze zainstalowałem wszystkie zależności używając kompozytu. Ale nie mam folderu altana, tak teraz coraz błędach:Folder Bower nie został znaleziony w folderze dostawcy w podstawowej aplikacji yii2

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

Mój plik composer.json ma następujące wymagać zależności:

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

Czy zainstalować 'FXP/kompozytor aktywami plugin'? – soju

+0

Nie Nie mam zainstalowany.Co to wykorzystuje? – Ankita

Odpowiedz

12

Aby zarządzać Bower i pakiet npm zależności przez kompozytora, trzeba zainstalować (globalnie) fxp/composer-asset-plugin:

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

więcej: http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-via-composer

+0

Nie zapomnij o 'composer install' po – Footniko

+0

Miałem ten sam problem używając:' composer global require "fxp/composer-asset-plugin: ~ 1.0.0" 'chcesz się upewnić że używasz' composer global require "fxp/composer-asset-plugin: ~ 1.1.1" ' –

4

najpierw pobrać domyślne zależności

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

następnie wystarczy uruchomić

composer install 

następnie przeładować stronę.

0

(dla nowej instalacji) W systemie Windows.

  1. Usunąć kompozytora z systemu Windows i zainstalować ponownie. potem
  2. composer global require "fxp/composer-asset-plugin:~1.1.1"
  3. composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

(do aktualizacji): usunąć zawartość katalogu na:

  1. sprzedawca usunąć plik
  2. composer.lock niż
  3. composer install

To wszystko

1

Goto /vendor/yiisoft/yii2/base/Application.php.

Goto linia 456.

Zmień

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

do

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

+0

A co dalej?, nigdy nie aktualizuj kompozytor lub framework yii w swoim życiu. zmiana podstawowego skryptu nigdy nie jest zalecana –

1

To może złamać coś później, ale było to o wiele szybciej niż próbuje wykorzenić problem kompozytora. Próbowałem też to bezskutecznie. Właśnie postanowiłem dać to, o co prosiłem.

Jeśli ktoś wie, dlaczego to obejście nie jest dobre, proszę mówić.

Przejdź do /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'); 
} 
0

W moim przypadku, miałem starą wersję kompozytora-Asset-plugin i nie działa prawidłowo. Tylko aktualizacja pomaga mi. Tak aktualizację do ostatniej wersji kompozytora-Asset-plugin:

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

Spójrz na ^1.2.0. To ważne.

Wtedy to zrobić poleceń:

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