2016-01-27 30 views
8

Sto riscontrando un problema durante l'implementazione del mio sito su AWS.La preimpostazione di `bundle exec` al tuo comando può risolvere questo problema

Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 10.5.0. Prepending `bundle exec` to your command may solve this. 
    /var/app/ondeck/config/boot.rb:3:in `<top (required)>' 
    /var/app/ondeck/config/application.rb:1:in `<top (required)>' 
    /var/app/ondeck/Rakefile:4:in `<top (required)>' 
    LoadError: cannot load such file -- bundler/setup 
    /var/app/ondeck/config/boot.rb:3:in `<top (required)>' 
    /var/app/ondeck/config/application.rb:1:in `<top (required)>' 
    /var/app/ondeck/Rakefile:4:in `<top (required)>' 
    (See full trace by running task with --trace) 
    (ElasticBeanstalk::ExternalInvocationError) 

mentre quando lo faccio gem list rake mi dà

*** LOCAL GEMS *** 

airbrake (4.3.1) 
rake (10.5.0, 10.4.2) 

voglio avere una sola versione quando lo faccio bundle exec gem uninstall rake -v 10.4.2 mi dà

ERROR: While executing gem ... (Gem::InstallError) 
    gem "rake" cannot be uninstalled because it is a default gem 

Come risolvere questo problema? Qualsiasi aiuto sarà apprezzato.

+0

anteporre 'bundle exec' a qualsiasi comando eseguito per fornire l'errore, esattamente come l'errore indica di fare. – sevenseacat

risposta

9

È necessario il prefisso del comando con bundle exec. Ad esempio, se il comando è rake

rake deploy 

Bisogna invece usare

bundle exec rake deploy 

Bundler preleverà le versioni corrette gemma come elencato nel vostro Gemfile, ed eseguire il comando.

+0

il mio comando di deploy è eb deploy :) now tell? –

+0

Per favore leggi la mia risposta. Come ho scritto, basta anteporre il comando a 'bundle exec'. –

+0

ho provato 'bundle exe eb deploy' ha ottenuto lo stesso errore. –

24

Prima corsa rake aggiornamento pacchetto.

Spero che questo funzioni per voi.

+0

Non funzionerà se non si usa 'bundle exec' per i comandi successivi. –

+4

questo ha risolto il problema per me. bundle exec non è necessario dopo aver eseguito questo aggiornamento. –