Gem :: LoadError:耙?

时间:2014-03-28 21:34:06

标签: ruby-on-rails ruby-on-rails-4

我正在尝试在本地运行rake db:migrate,但我收到以下错误:

Gem::LoadError: You have already activated rake 10.2.2, but your Gemfile requires rake 10.1.1. Using bundle exec may solve this.

不确定为什么会这样?它来自无处。

知道如何解决这个问题吗?

干杯

6 个答案:

答案 0 :(得分:13)

您可以删除Gemfile.lock。然后运行bundle install,bundler将使用正确的rake重新创建更新的Gemfile.lock

我刚刚这样做了,这对我有用。

答案 1 :(得分:4)

照其说的做。将rake称为

bundle exec rake

或者,可选地,像这样运行bundler:

bundle install --binstubs

然后:

bin/rake

这种情况正在发生,因为您的系统上安装了rake的不同版本,并且默认情况下加载了错误版本。

答案 2 :(得分:1)

尝试运行bundle exec rake db:migrate,看看它是否适合您。

您似乎安装了多个版本的rake。请gem list确定是否属于这种情况。

根据具体情况,您可能希望使用gem uninstall rake卸载一个版本。

答案 3 :(得分:0)

这些都不适合我,但我找到了解决办法。在你正在创建的应用程序文件夹中(你找到app bin等)。打开你的" Gemfile.lock"找到" rake 10.1.1"(只需使用查找或搜索),将其更改为10.2.2,然后保存rake。祝你好运

答案 4 :(得分:0)

我认为更新所有Gemfile.lock是危险的,特别是当你有许多没有特定版本的宝石时。有时当你更新gem时,某些行为会发生变化,找到它发生的原因真的很烦人。

对于我自己,我遇到了同样的问题,解决方法是修改Gemfile:

gem 'rake', "~> 10.2.2"

gem 'rake', "~> 11.1.2"

然后运行

bundle update rake

答案 5 :(得分:0)

我没有/不在我的Gemfile中指定gem 'rake',所以我只是运行bundle update rake,它正确更新了Gemfile.lock。