我如何知道哪个 gem 需要依赖另一个无法安装的 gem?



我正在 Linux CentOS 6 上升级 Ruby on Rails 软件,并且在运行时

bundle install

它停止在:

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

但是,我知道的 gemfile 中的依赖项不需要 nokogiri 1.8.0,它们检查我安装的 Ruby 版本,如果我没有 Ruby 2.1,则只需要 1.6.8。

我试过了

gem dependency nokogiri --reverse-dependencies

但由于未安装版本 1.8.0,因此不会在反向依赖项中列出。

那么,我在哪里可以获得有关哪个宝石或宝石文件实际上试图强迫我使用 nokogiri 1.8.0 的信息呢?

[编辑:我已将旧版本的捆绑安装输出替换为新版本 1.15.2,因为它现在提供了不同的信息] 捆绑包安装的输出 --verbose:

Fetching rdoc 5.1.0
Installing rdoc 5.1.0
Using redcarpet 3.3.4
0:  redcarpet (3.3.4) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/redcarpet-3.3.4.gemspec
Using redis 3.3.3
0:  redis (3.3.3) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/redis-3.3.3.gemspec
Using request_store 1.0.5
0:  request_store (1.0.5) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/request_store-1.0.5.gemspec
Using tilt 2.0.7
0:  tilt (2.0.7) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/tilt-2.0.7.gemspec
Using rmagick 2.16.0
0:  rmagick (2.16.0) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rmagick-2.16.0.gemspec
Using ruby-ole 1.2.12.1
0:  ruby-ole (1.2.12.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/ruby-ole-1.2.12.1.gemspec
Using rubyzip 1.2.1
0:  rubyzip (1.2.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rubyzip-1.2.1.gemspec
Using simplecov-html 0.9.0
0:  simplecov-html (0.9.0) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/simplecov-html-0.9.0.gemspec
Using tiny_tds 0.6.2
0:  tiny_tds (0.6.2) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/tiny_tds-0.6.2.gemspec
Using vcard 0.2.15
0:  vcard (0.2.15) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/vcard-0.2.15.gemspec
Using yard 0.9.9
0:  yard (0.9.9) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/yard-0.9.9.gemspec
Using tzinfo 1.2.3
0:  tzinfo (1.2.3) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/tzinfo-1.2.3.gemspec
Fetching nokogiri 1.8.0
Installing nokogiri 1.8.0 with native extensions
Using rack-test 0.6.3
0:  rack-test (0.6.3) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rack-test-0.6.3.gemspec
Using rack-protection 1.5.3
0:  rack-protection (1.5.3) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rack-protection-1.5.3.gemspec
Using vegas 0.1.11
0:  vegas (0.1.11) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/vegas-0.1.11.gemspec
Using mime-types 3.1
0:  mime-types (3.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/mime-types-3.1.gemspec
Using addressable 2.5.1
0:  addressable (2.5.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/addressable-2.5.1.gemspec
Using childprocess 0.7.1
0:  childprocess (0.7.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/childprocess-0.7.1.gemspec
Using sprockets 3.7.1
0:  sprockets (3.7.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/sprockets-3.7.1.gemspec
Using redmine_crm 0.0.31
0:  redmine_crm (0.0.31) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/redmine_crm-0.0.31.gemspec
Using mocha 1.2.1
0:  mocha (1.2.1) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/mocha-1.2.1.gemspec
Using rack-openid 1.4.2
0:  rack-openid (1.4.2) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rack-openid-1.4.2.gemspec
Using rbpdf 1.19.2
0:  rbpdf (1.19.2) from /usr/local/rvm/gems/ruby-2.0.0-p247/specifications/rbpdf-1.19.2.gemspec
Gem::InstallError: rdoc requires RubyGems version >= 2.2. Try 'gem update --system' to update RubyGems itself.
/usr/local/rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/installer.rb:541:in `ensure_required_rubygems_version_met'

看起来您运行的是旧版本的捆绑程序(1.9.1(,该版本可能没有对Ruby版本控制的适当支持。尝试运行gem update bundler并使用新版本运行bundle install

因此,问题似乎来自使用旧版本的捆绑器(1.9.1(。

使用gem update bundler将其升级到最新版本将我移动到版本 1.15.2,然后,捆绑安装有效(在第二次执行时,但最终确实成功了(。

相关内容

  • 没有找到相关文章

最新更新