Reputation: 11896
Whenever I run a rake command (i.e. rake routes
) I get this error:
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.
If I run bundle exec rake routes
it works.
I want to be able to simply rake routes
without having to run bundle exec rake routes
.
I've looked at other questions with similar errors and tried the various solutions (like running bundle update
) to no avail.
Also, in my gemfile
I specified gem 'rake', '0.9.2'
Any suggestions?
Upvotes: 15
Views: 7691
Reputation: 20724
Try to execute:
gem list
You'll probably see a couple of version installed for rake. By the way, bundle exec
is the right way of executing your code in the context of a Rails application. So, you can use an alias for typing less.
Upvotes: 8
Reputation: 49232
You may see this message if some of the gems in your gemfile require an older version of Rake to the one you have installed. Perhaps you have updated rake. You can often fix it by updating your gems. Run:
bundle update
This will update your bundle using the most recent gems in your gemfile. This will likely fix the rake incompatibility.
Upvotes: 0
Reputation: 14920
As @lucapette said, you probably have multiple versions of rake. Assuming you do want to use 0.9.2 you can remove the 0.9.2.2 version to get rid of the warning then run bundle install to ensure you have all the right gem versions for the version you do want (0.9.2 in your case, 0.8.7 in the my example below).
Here are the steps:
$ gem list
*** LOCAL GEMS ***
...
rake (0.9.2.2, 0.8.7)
...
$ gem uninstall rake
Select gem to uninstall:
1. rake-0.8.7
2. rake-0.9.2.2
3. All versions
> 2
You have requested to uninstall the gem:
rake-0.9.2.2
addressable-2.2.6 depends on [rake (>= 0.7.3)]
...
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] Y
Successfully uninstalled rake-0.9.2.2
INFO: gem "0.9.2.2" is not installed
$ bundle install
Upvotes: 2