首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails:您已经激活了rake10.3.1,但是您的Gemfile需要rake10.2.2 (Gem::LoadError)

Rails:您已经激活了rake10.3.1,但是您的Gemfile需要rake10.2.2 (Gem::LoadError)
EN

Stack Overflow用户
提问于 2014-04-25 07:57:11
回答 15查看 65.6K关注 0票数 48

以下是我的错误:

代码语言:javascript
运行
复制
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)

我不能运行任何rake任务,这似乎是我所有其他问题的根源。几天前当我运行rake命令的时候不是这样的。有人能解释一下这里发生了什么,以及如何让我的应用重新走上正轨吗?我撞到墙了。而且,bundle exec没有为我解决问题的根源。我过去从来没有做过这样的事,但现在仍然不起作用。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2014-04-25 11:00:28

编辑2: --您应该查看bundle update并稍微更改一下工作流程。有关进一步的帮助,请参阅这个问题

原始答案

这是一个简单的问题,当您的宝石集有一个比您的Gemfile.lock提到的版本号更新的rake版本时,这个问题就会发生。

正如在错误消息中提到的,您可以使用bundle exec来使事情正常工作。

在这种情况下,我的解决方案是删除Gemfile.lock,如果我不太担心其他gem版本及其无尽的依赖关系的话。否则,您可以尝试删除Gemfile.lock中讨论rake版本的一行。运行bundle install,世界应该再次成为一个快乐的地方。(编辑2:运行bundle update --source而不是这个。不要这样做。)

PS:尝试在不同的项目中使用用rvm组织宝石和组织宝石

编辑

我现在更喜欢使用里本夫来管理安装,项目的所有gems使用bundle install --path选项驻留在vendor/bundle中。稍后,使用bundle exec对每个gem命令进行作用。

因此,rails s变成了bundle exec rails s。我认为,在我看来,如果这意味着事情会保持干净,这样的冲突就不会发生,那就更好了。

票数 42
EN

Stack Overflow用户

发布于 2016-06-20 02:12:28

对我来说,一个简单的解决方案就是简单地运行bundle update rake

票数 41
EN

Stack Overflow用户

发布于 2014-05-15 02:46:20

您可以使用rubygems-bundler来解决这个问题。运行以下命令:

$ gem install rubygems-bundler

$ gem regenerate_binstubs

那就再试试你的耙。

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23287357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档