Ruby on rails 当gempec声明了一个开放约束时,为什么bundler坚持要一个确切的gem版本号?
我正在为Ruby gem做贡献,并试图让Travis CI工作 gem是几天前与Travis一起设置的,但所有构建都失败,出现以下错误消息():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上运行我自己的构建时,我得
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"