2013-06-07 22 views
63

Ho un progetto che dipende sia:Come risolvere i conflitti di versione delle dipendenze di Bower?

  • jQuery ~ 1.9.1
  • un altro progetto, che a sua volta dipende jquery> = 1.7.2

Ma quando corro bower install, finisce per installare jquery 2.0.2. Questo sembra rotto.

In che modo (a) è possibile risolvere correttamente i vincoli o (b) forzare esplicitamente una versione finale da installare (soluzione alternativa)?

+0

Ticket: https://github.com/bower/bower/issues/540 –

+0

qui avresti 2 progetti - quindi uno otterrebbe una versione di jQ ​​e l'altra una versione diversa, quindi sto pensando che hai bisogno di più dettagli nella tua domanda – landed

+0

Hai trovato una soluzione a questo problema, visto che sto avendo la stessa identica cosa e la soluzione di Neilhem non funziona per me (come in, non ha fatto alcuna differenza)? – Hans

risposta

109

È possibile aggiungere resolutions all'oggetto nel file bower.json e specificare la versione del componente & per risolvere automaticamente il conflitto durante l'esecuzione dei comandi di bower. Ti piace questa:

{ 
    "name": "project-x", 
    "private": true, 
    "dependencies": { 
    "bootstrap-sass": "~3.3.7", 
    "modernizr": "~2.8.3", 
    "jquery": "~1.11.3" 
    }, 
    "devDependencies": {}, 
    "resolutions": { 
    "jquery": "~1.11.3" 
    } 
} 

Inoltre è possibile eseguire bower install e quando pergolato chiederà per "la versione adatta" (se la modalità interattiva è acceso), la scelta del prefisso con !, in modo da pergolato salverà la vostra scelta in un file bower.json .

+2

Ti manca una citazione di chiusura a" jquery: "~ 1 ... –

+2

Questa soluzione non funziona per me. Non sembra fare la differenza. Richiede una certa versione di Bower e il mio è troppo vecchio (è installato da npm, quindi qualunque sia la versione). – Hans

+0

@Hans tenta di aggiornare bower in esecuzione: npm update -g bower – neilhem

Problemi correlati