Here is my error:
rake aborted!
Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to your command may solve this.
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:34:in `block in setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:19:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
/Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
I can't run any rake tasks and this seems to be the root of all my other problems. It wasn't like this a couple days ago when I was running rake commands. Can anyone explain what's going on here and how to get my app back on track? I've hit a wall. Also, bundle exec
doesn't fix the root of the problem for me. I never had to do that in the past and it's still not working now.
EDIT 2: You should look at
bundle update
and change your workflow a little. Refer to this question for further assistance.Original answer
This is a simple issue which happens when your gemset has a rake version that is newer than the version number your
Gemfile.lock
mentions.As is mentioned in the error message, you can use
bundle exec
to get things working.My solution in such cases is to just remove
Gemfile.lock
if I am not too worried other gem versions and their endless dependencies. Otherwise, you can try just removing the one line inGemfile.lock
which talks about the version of rake. runbundle install
and the world should be a happy place again. (edit 2: Runbundle update --source
instead of this. Don't do this.)PS: Try using gemsets and organising your gems with rvm for different projects.
Edit
I prefer using rbenv now for managing installations and all gems for a project reside in
vendor/bundle
usingbundle install --path
option. Later scope every gem command withbundle exec
.Hence,
rails s
becomesbundle exec rails s
. A little more typing is, in my opinion, better if it means that things will remain clean and conflicts such as this one don't happen.I had a similar issue and I was skeptical about removing a line from my
Gemfile.lock
, it seemed hacky and the inconvenience of prependbundle exec
to every rake command was not an option either. I fixed this by first going into myGemfile.lock
to see what version ofrake
was there (in my case it was 11.1.2). My thought was to uninstallrake
and install this version. Runninggem uninstall rake
gave this output:I uninstalled both
rake-11.2.2
andrake-11.3.0
. That fixed my problemUse this:
I had the same error:
You have already activated rake 12.0.0, but your Gemfile requires rake 11.3.0. Prepending "bundle exec" to your command may solve this.
I solved it by running
bundle update
this updated the rake version to my activated rake version and everything worked I hope that works for you!
A simple solution that worked for me is to simply run
bundle update rake
.I tried another way which is delete
Gemfile.lock
then runbundle install
. After that I runrake db:migrate
. And everything works fine.Although I don't think remove
Gemfile.lock
is bad practice, but may be; who know.