如何让bundler尊重Ruby版本的子依赖?

时间:2017-11-01 19:41:30

标签: ruby cucumber bundle bundler

Ruby版本:1.9.3

的Gemfile:

   ruby '1.9.3'
   source 'http://rubygems.org'
   gem 'site_prism', '2.6'

运行"捆绑安装"失败了:

Gem::InstallError: nokogiri requires Ruby version < 2.5, >= 2.2.
An error occurred while installing nokogiri (1.8.1), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.8.1'` succeeds before bundling.

In Gemfile:
 site_prism was resolved to 2.6, which depends on
  capybara was resolved to 2.15.4, which depends on
   xpath was resolved to 2.1.0, which depends on
    nokogiri

nokogiri 1.8.1与Ruby 1.9.3不兼容。

为什么bundle尝试安装与我当前的Ruby版本不兼容的gem?

我尝试的事情:

  • 不同的捆绑版本(1.12.5,1.15.4,1.16.0)
  • 指定&#34; ruby​​&#39; 1.9.3&#39;在Gemfile&#34;

1 个答案:

答案 0 :(得分:0)

您将需要指定一个更旧版本的nokogiri才能使其正常工作。您可能还必须指定旧版本的capybara或xpath。尝试加入你的Gemfile

gem 'nokogiri', '1.6.8'

从那里开始工作。