5

All'interno di un Gemfile, c'è qualche modo per dire Bundler qualcosa come:Raccontare Bundler di escludere determinate gemme dall'installazione di un particolare gioiello

gem 'twitter-bootstrap-rails', :exclude therubyracer 

Devo installare twitter-bootstrap-rails, ma si tira automaticamente therubyracer in , quindi bundle install non riesce e bootstrap non è incluso nel progetto poiché si tratta di un computer Windows. Ho installato execjs senza alcun risultato.

Ho provato ad elencare therubyracer in produzione e bundle install --without production, anche senza risultato.

"therubyracer gem on windows" è anche questo problema, ma nessuno dei suggerimenti cambia l'errore che sto ottenendo.

Il mio thread precedente era "When I do "bundle update", I get an error from a gem not in my gemfile. How do I ignore this dependency?".

risposta

4

Non esiste un'opzione per questo in Bundler.

Così si è lasciato con queste opzioni:

  • Non utilizzare twitter-bootstrap-rails. È sufficiente copiare i file css e js compilati nelle directory appropriate sotto vendor/assets. Perderai la possibilità di modificare meno variabili. Oppure puoi usare la gemma compass_twitter_bootstrap, che usa sass anziché less.

  • Prendi il manutentore del less gemma da usare al posto di execjscommonjs e therubyracer. Probabilmente significherebbe un significativo refactoring per il/i manutentore/i, se possibile.

  • Utilizzare l'opzione :platform nel proprio Gemfile per installare solo su OSX o Linux. Quindi richiedere le parti che è possibile utilizzare a mano, senza caricare less. Questo probabilmente non funzionerà.

+0

Grazie signore :) – JakeP

+1

Questo è abbastanza zoppo :-(Qualche possibilità che Bundler avrà una caratteristica esclude in un prossimo futuro? –

+0

Wow, questo è suona orribile. Quindi, se qualcuno dipende da qualcosa che si 100% possibile verificare lo fa non ti chiamano, hai lasciato a forking la gemma per rimuovere la linea dal gemfile per evitare di usare quella dipendenza. – duane

Problemi correlati