web-dev-qa-db-ja.com

コマンドの前に `bundle exec`を付けると、これを解決できる場合がありますrails

サイトをAWSにデプロイしているときに問題が発生しました。

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)

gem list rakeを実行すると、

*** LOCAL GEMS ***

airbrake (4.3.1)
rake (10.5.0, 10.4.2)

bundle exec gem uninstall rake -v 10.4.2を実行するときにバージョンを1つだけにしたい

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

この問題を解決するにはどうすればよいですか?どんな助けでもありがたいです。

8
Junaid Farooq

コマンドの前にbundle execを付ける必要があります。たとえば、rakeコマンドが

rake deploy

代わりに使用する必要があります

bundle exec rake deploy

Bundlerは、Gemfileにリストされている適切なgemバージョンをフェッチし、コマンドを実行します。

11
Simone Carletti

最初の実行バンドル更新レーキ

これがあなたのために働くことを願っています。

26
Dheeresha