2015-03-25 9 views
6

Avevo scaricato un'applicazione di base yii2. Poi ho inserito il git.Ma quindi su altri PC ho installato tutte le dipendenze utilizzando un compositore. Ma non ho cartella pergolato ora in modo da ottenere di errore:La cartella Bower non è stata trovata nella cartella del venditore nell'applicazione base yii2

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

Il mio file composer.json ha seguito richiedono dipendenze:

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

è stato installato '/ compositore-asset-Plugin' fxp? – soju

+0

No, non ho installato. Che cosa è l'uso di questo? – Ankita

risposta

12

Per gestire Bower e pacchetti NPM dipendenze attraverso Compositore, è necessario installare (a livello globale) fxp/composer-asset-plugin:

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

Per saperne di più: http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-via-composer

+0

Non dimenticare l'installazione di compositore dopo – Footniko

+0

Ho avuto lo stesso problema utilizzando: 'compositore globale richiede" fxp/compositore-asset-plugin: ~ 1.0.0 "' vuoi assicurarti di utilizzare 'compositore globale richiede "fxp/compositore-risorsa-plugin: ~ 1.1.1" ' –

4

prima scaricare le dipendenze predefinite

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

poi basta eseguire

composer install 

quindi ricaricare il vostro sito.

0

(per installazione recente) Su Windows.

  1. Rimuovere il compositore su Windows e reinstallarlo. dopo che
  2. composer global require "fxp/composer-asset-plugin:~1.1.1"
  3. composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

(per l'aggiornamento): rimuovere il contenuto della directory:

  1. fornitore rimuovere il file
  2. composer.lock di
  3. composer install

Questo è tutto

1

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

Goto linea 456.

Change

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

a

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

+0

E poi cosa?, non aggiornare mai il compositore o il framework yii in tutta la tua vita. cambiare lo script principale non è mai raccomandato –

1

Questo può rompere qualcosa più tardi, ma questo è stato molto più veloce che cercare di sradicare il problema compositore. Ci ho provato anche inutilmente. Ho solo deciso di dargli quello che stava chiedendo.

Se qualcuno sa perché questa soluzione non è buona, si prega di parlare.

Goto /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

Nel mio caso, ho avuto la vecchia versione del compositore-asset-plugin e non ha funzionato correttamente. Solo l'aggiornamento mi aiuta. Quindi aggiornare l'ultima versione del compositore-asset-plugin:

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

Guarda ^1.2.0. È importante.

poi fare questo i comandi:

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