你已经激活了rake 0.9.0,但你的Gemfile需要rake 0.8.7

我试图运行rails项目,我明白了

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

如果我这样做:“捆绑安装”

但我越来越

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

一边做

 rake db:migrate 

首先,检查一下你的Gemfile中是否提到了rake。 如果不是,请添加它,并指定“您已经激活”的版本。

然后,你需要告诉bundle更新它为你的应用使用的rake版本:

 bundle update rake 

它会为你更新你的Gemfile.lock

你目前在哪里使用rake命令

 rake db:migrate 

用这个代替:

 bundle exec rake db:migrate 

这将是最新版本的导轨和/或耙一起工作的情况。

我感谢Dobry Den,干杯。 但我不得不做更多的事情。 这里是解决scheme(为我工作)。 我补充说

 gem 'rake','0.8.7' 

Gemfile,这不是在那里,但我的新版本的轨道自动安装耙(0.9.0)。

在我通过gem uninstall rake删除了rake0.9.0之后,在做了bundle update rake之后,我可以创build和迁移数据库。

Rake 0.9.0打破了轨道。

看到这里: Rake 0.9.0'未定义的方法'任务''

使用bundle exec rake而不是rake以正确的版本运行rake。

在你的Gemfile中指定你想要的版本。

 gem 'rake', '0.9.0' 

然后

 bundle update rake 

你需要使用bundle exec来运行你的rake任务

 bundle exec rake db:migrate 

我有这个问题(与另一个不是耙子gem),我能够解决它

 gem uninstall <complaining gem> gem install <complaining gem> bundle install bundle update 

请注意,关键字“sudo”没有被使用(即。sudo bundle install),因为这可能会将您的gem放到您的rails应用程序可能不会search的目录中。

哦,看,这是未来。 对我来说,它是在抱怨0.9.5时我安装了rake 10.x。 不太清楚,Ruby不够深入地研究最近的版本号发生了什么,但是我做的是:

 gem uninstall rake gem install rake -v 0.9.5 

强制系统安装应用程序所需的耙子版本(对我来说是Octopress)。

把它添加到你的Gemfile中

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

然后卸载rake-0.9.0

如果我明白你没有问,你需要打开你的Gemfile文件,并更改行…

 gem 'rake', '0.8.7' 

…至…

 gem 'rake', '0.9.0'