同样的问题被问到here,虽然没有一个答案在我的案例中有效。
我是Ruby / Rails / RVM / Bundler / Gemfile /等的新手。我正在关注Hertl的Rails 3教程。我遇到与上面链接中所述相同的问题:Bundler无法找到gem bundler的兼容版本。
当我运行“$ bundle install”时,我收到以下消息:
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.1) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.2.1)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
我不知道从哪里开始。我试过Hertl建议指定一个特定的Bundler版本 - 他建议尝试1.2.5或1.3.1,无论哪个有效 - 但即使指定了Bundler的特定版本,我也会得到同样的错误。
我真的不知道从哪里开始,并且由于缺乏清晰度而感到沮丧。一个简单的图表将帮助我理解这些不同的实用程序之间的关系;否则我只是在黑暗中拍摄。有助于将Rails运行所需的不同组件联系起来的答案非常棒!
有人有好的建议吗?
答案 0 :(得分:2)
关键是Rails 3.0.1
对Bundler (~> 1.0.0)
的依赖关系。此表示法表示您可以使用bundler
但1.0.0
但1.1.0
的{{1}}版本 - 因为您尝试使用1.2.1
时出现错误。
最简单的解决方法是卸载bundler 1.2.1
并安装bundler 1.0.22
,这是与您正在使用的Rails版本兼容的最新版本。
gem uninstall bundler
gem install bundler -v1.0.22
这将解决您的问题,但如果您正在关注Hartl的教程,则可能会遇到其他问题,因为在本问题发布时,教程使用Rails v3.2.8
。你有没有理由使用3.0.1
而不是3.2.8
?我的建议是使用本教程使用的版本,否则可能会遇到难以诊断的错误。
如果您可以转到Rails 3.2.8
,那么您的问题也会得到解决,因为bundler 1.2.1
与Rails 3.2.8
兼容。