2

在这里问了同样的问题,尽管在我的情况下没有答案。

我对 Ruby/Rails/RVM/Bundler/Gemfile/etc 完全陌生。我正在关注 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 运行所需的不同组件联系起来的答案会很棒!

有人有好的建议吗?

4

1 回答 1

2

关键是Rails 3.0.1Bundler (~> 1.0.0). 这种表示法意味着您可以使用bundlerfrom1.0.0但小于的版本1.1.0- 当您尝试使用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.

于 2012-09-27T13:04:49.000 回答