2015-12-21 22 views
5

Ho appena installato yii2 (avanzato) utilizzando il compositore. Ho nginx setup, eccYii2 installazione recente: fornitore/bower/jquery/percorso dist è errato

Ma non funziona:

Invalid Parameter – yii\base\InvalidParamException 

The file or directory to be published does not exist: /srv/www/site/vendor/bower/jquery/dist 

Nella cartella 'fornitore/scrigno di' non è l'unico sottocartella 'Bower-assets' con 'jQuery', ecc dentro. Ma nessun jquery in vendor/bower.

Come risolvere questo problema?

risposta

7

Si prega di fare riferimento allo installation guide. Sembra che non trovi il plug-in di asset:

composer global require "fxp/composer-asset-plugin:~1.2.0" 
+1

Si prega di non pubblicare risposte identiche a più domande. Pubblica una buona risposta, quindi vota/contrassegna per chiudere le altre domande come duplicati. Se la domanda non è un duplicato, aggiungi le tue risposte alla domanda. – josliber

+0

@josilber roger che – SilverFire

+0

aggiornato alla più recente ancora non funziona! –

1

Controlla il tuo file composer.json nella radice del tuo progetto. Dovresti avere una sezione che assomigli a questo;

"asset-installer-paths": { 
     "bower-asset-library": "vendor/bower-assets" 
    } 

Questo dice al compositore dove individuare la libreria di file del bower. Potrebbe essere necessario eseguire l'aggiornamento del compositore in seguito per ottenere le posizioni aggiornate aggiornate.

+0

'compositore update' ha risolto il mio problema. – Roger

+0

Questa soluzione ha funzionato per me, dopo aver modificato gli ultimi ** s **. Dovrebbe essere "bower-asset-library": "vendor/bower-asset" ' – contemplator

+0

@contemplator in realtà non importa quale sia il nome della cartella di asset, purché esista effettivamente una cartella con quel nome. Sul tuo computer locale, la cartella è bower-asset. Sulla mia sono i beni di bower. Il nome è irrilevante, purché la voce nel file del compositore punti nella posizione corretta –

-1

Sembra che il tuo jquery/dist è sotto bower/bower-asset invece sotto bower. Per risolvere il problema, spostare tutti i contenuti dello bower-asset, inclusa la sottocartella bootstrap, yii2-pjax, puny code, ecc. Nella cartellanella cartella (un livello in alto). Tutte queste sottocartelle saranno allo stesso livello con bower-asset nella cartella bower. Ora puoi cancellare la cartella bower-asset se vuoi.

Prima avuto:

vendor/bower/bower-asset/jquery/dist/...

Ora avete:

vendor/bower/jquery/dist...

Non ci dovrebbe essere alcun bower-asset sottocartella.

Questo risolverà il problema e l'app yii2 funzionerà come dovrebbe.

+0

Questo è totalmente il modo sbagliato, mi dispiace. Con la presente rimuovi le tue risorse dall'aggiornamento. La stessa cartella verrà creata nuovamente e sarà aggiornata ... ma purtroppo non utilizzata;)! – PLM57

1

Accertarsi di aver eseguito questo comando:

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

Inoltre, controllare il compositore.JSON per queste seguenti:

  • Disapprovato, ma di default l'opzione da Yii2:

    "extra": { "asset-installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" } },

  • Nuova opzione

    "config": { "fxp-asset": { "installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" }, } },

Quindi eseguire sia composer update se già ha ve un file composer.lock o composer install se non si dispone ancora del file composer.lock.