Ruby on rails 当gempec声明了一个开放约束时,为什么bundler坚持要一个确切的gem版本号?

Ruby on rails 当gempec声明了一个开放约束时,为什么bundler坚持要一个确切的gem版本号?,ruby-on-rails,ruby,rubygems,bundler,travis-ci,Ruby On Rails,Ruby,Rubygems,Bundler,Travis Ci,我正在为Ruby gem做贡献,并试图让Travis CI工作 gem是几天前与Travis一起设置的,但所有构建都失败,出现以下错误消息(): gempec中有问题的行是: s.add_development_dependency "rspec-rails", "~> 2.14.0" s.add_development_dependency 'capybara' 我分叉了gem并更改了第二行,因此它需要capybara版本>=2.4.0,但是当我在Travis上运行我自己的构建时,我得

我正在为Ruby gem做贡献,并试图让Travis CI工作

gem是几天前与Travis一起设置的,但所有构建都失败,出现以下错误消息():

gempec
中有问题的行是:

s.add_development_dependency "rspec-rails", "~> 2.14.0"
s.add_development_dependency 'capybara'
我分叉了gem并更改了第二行,因此它需要capybara版本
>=2.4.0
,但是当我在Travis上运行我自己的构建时,我得到了

最让我困惑的是,当你查看时,你会看到它并没有说明它完全取决于机架版本1.0.0。机架上版本
>=1.0.0


为什么bundler坚持1.0.0,而Capybara本身并不需要它?如何让Travis运行测试?

我必须承认,这不是Travis特有的问题

⌚ 17:10:45 ▷ /tmp/koudoku ▷ ⭠ master ▷ bundle
Fetching gem metadata from http://rubygems.org/.......
Resolving dependencies........
Bundler could not find compatible versions for gem "rack":
  In Gemfile:
    rspec-rails (~> 2.14.0) ruby depends on
      actionpack (>= 3.0) ruby depends on
        rack (~> 1.2.1) ruby

    capybara (>= 0) ruby depends on
      rack (1.0.0)
这就是我
git克隆
'd koudoku并在新下载的源代码上运行
bundle
时发生的事情。这发生在ruby 2.1.5上,但Travis在1.9.3上也有同样的问题

看起来你已经不知何故调整了你的宝石,使其发挥作用,而从头开始的过程已经中断。我不知道为什么
rack>=1.0.0
不适用于
1.2.1
,但我建议您清除您的系统(使用
rvm
或类似工具创建新的gemset),并尝试在本地工作

很抱歉将此作为答案发布,但它太长,不适合“评论”字段

希望能有帮助

版本:

▷ rvm --version
rvm 1.26.2 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis 
▷ gem --version
2.4.4
▷ bundle --version
Bundler version 1.7.6

好的,我只是
cd
ed到gem的目录,然后运行
rvmgemet-create-koudoku
rvm-use 2.1。4@koudoku
捆绑安装
。。。但它在本地安装的一切都很好。(它安装了rack v1.5.2,这是值得的。)我是否正确地“清除了我的系统”或者我错过了一步?听起来你做的一切都是正确的。我用版本更新了我的答案。我只是更新了所有内容,并用ruby 2.1.5、rvm 1.26.3、gem 2.4.4和bundler 1.7.7再次做了上述操作。。。。它仍然可以正常工作。大福?等等。添加
s.add_dependency“rack”、“~>1.2.1”
gemspec
在我的盒子上,将
bundle安装
转为不中断(不要问。)它当前正在打印点5分钟:)这可能是bundler的问题吗?
▷ rvm --version
rvm 1.26.2 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis 
▷ gem --version
2.4.4
▷ bundle --version
Bundler version 1.7.6
  s.add_development_dependency "rack", "~> 1.2.1"