我正在尝试生成路由(对于我正在处理的应用程序,这些路由可以正常运行几周),突然间,我看到以下消息:
You have already activated rake 10.0.3, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this.
执行bundle exec并不能解决问题。通过Gemfile.lock查看,我看到以下内容:
railties (3.2.3)
actionpack (= 3.2.3)
activesupport (= 3.2.3)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
rake (0.9.2.2)
我尝试将最后一行更改为:
rake (>= 0.9.2.2)
这给了我以下错误消息:
There was an error in your Gemfile, and Bundler cannot continue.
有什么想法吗?
答案 0 :(得分:2)
检查Gemfile中是否有rake
。如果不是,请添加它,并指定“您已经激活”的版本。
然后,您需要告诉bundle更新它为您的应用程序使用的rake版本:
bundle update rake
它会为您更新Gemfile.lock
。
原因:
如果您未在gemfile中提及rake
,那么当您执行bundle install
时,新版本的rails会自动为您安装最新的rake。但您的 gemfile 已使用旧版本锁定。这会导致问题和您看到的错误。
所以你需要做的是首先卸载使用命令
安装的最新rake版本gem uninstall rake
然后在你的gemfile中提到rake并做 -
bundle update rake
答案 1 :(得分:0)
或者您可以尝试gem uninstall rake。系统将询问您是否要删除所有版本 - 键入 - 是,然后捆绑安装