无法使用捆绑器安装宝石

时间:2014-11-15 12:03:20

标签: ruby-on-rails ruby bundler

我是Rails的新手,跟随Michael Hartl的教科书。当我运行$ 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.7.6)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

然后我尝试$ gem install bundler,效果很好:

Successfully installed bundler-1.7.6
Parsing documentation for bundler-1.7.6
1 gem installed

然而,这并没有解决问题。我感觉这与版本问题有关,但我不知道该怎么做...

2 个答案:

答案 0 :(得分:1)

以下内容:

In Gemfile:
    rails (= 3.0.1) ruby depends on
      bundler (~> 1.0.0) ruby

表示所需的bundler版本大于或等于 1.0.0,但严格小于 1.1.0。 Rails 3取决于旧版本的bundler。此时,您应该尝试使用Rails 4:)

您可以在http://guides.rubygems.org/patterns/#pessimistic_version_constraint

中详细了解“版本语法”

答案 1 :(得分:0)

由于@ user3927334已经声明您收到的错误是由于bundlerrails之间的版本冲突造成的。

很可能你已经使用过期版本的rails gem运行rails new my_app

gem install rails -v 4.2.0.beta4

可用于安装特定版本的Rails。见Installing Rails。 然后,您应该删除旧应用和rerun the app generator

rails _4.2.0.beta4_ new hello_app 

如果您缩进在本地计算机上进行开发,我建议您安装RVM (Ruby Version Manager)(与以前版本的MH&#39> Ruby on Rails教程一样。)

它允许您毫不费力地在不同版本的红宝石和不同的宝石之间切换。