You have already activated rake 0.9.0, but your Ge

2019-01-12 17:23发布

问题:

I'm trying to run rails project, I get

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

If I do: "bundle install"

but I'm getting

You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7

while doing

rake db:migrate

回答1:

First, check to make sure that rake is mentioned in your Gemfile. If it's not, add it, and specify the version "you already activated".

Then, you'll need to tell bundle to update the rake version it's using for your app:

bundle update rake

It'll update your Gemfile.lock for you.



回答2:

Where you are currently using rake commands like

rake db:migrate

Use this instead:

bundle exec rake db:migrate

this will be the case until the latest version of rails and/or rake work well together.



回答3:

I thank to Dobry Den, cheers dude. but little more I had to do. here is solution (works for me). I had added

gem 'rake','0.8.7'

on Gemfile, which was not there, but my new version of rails automatically install rake(0.9.0).

after I had delete rake0.9.0 by gem uninstall rake and after doing bundle update rake , I can create and migrate database.



回答4:

Rake 0.9.0 breaks rails.

See here: Rake 0.9.0 'undefined method 'task' '

Use bundle exec rake instead of rake to run rake at the correct version.



回答5:

Specify the version that you want in your Gemfile.

gem 'rake', '0.9.0' 

then

bundle update rake

you need to use bundle exec to run your rake task

bundle exec rake db:migrate


回答6:

Oh look, it's the future. For me, it was complaining I had rake 10.x installed when it wanted 0.9.5. Not quite sure, not familiar enough with Ruby to really dig into what happened to the recent version numbers, but what I did was:

gem uninstall rake
gem install rake -v 0.9.5

to force the system to install the version of rake that the app wanted (for me it was Octopress).



回答7:

I had this problem (with another gem that was not rake) and I was able to fix it by

gem uninstall <complaining gem>
gem install <complaining gem>

bundle install
bundle update

Note that the keyword 'sudo' was not used (ie. sudo bundle install) as that may place your gem into directories where your rails app might not be searching in.



回答8:

If I understand what you're not asking, you need to open your Gemfile file and change the line...

gem 'rake', '0.8.7'

...to...

gem 'rake', '0.9.0'


回答9:

Add this to your Gemfile

# Rake 0.9.0 break Rails.
gem "rake", "!= 0.9.0"

And then uninstall rake-0.9.0