Ruby和gem版本的兼容性

时间:2013-08-13 10:49:32

标签: ruby gem compatibility version-compatibility

我与某些Ubuntu服务器进行了SSH会话。包含-full的最新可用Ruby包是apt-get install ruby1.9.1-full。但在apt-get install rubygems1.9.1问题之后:

root@...:~# gem install nokogiri
ERROR:  Error installing nokogiri:
    nokogiri requires Ruby version >= 1.9.2

我不知道,我必须安装哪个版本的Nokogiri。我试着猜测:

root@...:~# gem install nokogiri -v 1.5.10
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

..........bla..bla..bla...

并且不得不切换到RVM方式(我有1.9.3并且没有我需要的宝石的更多问题)。

但无论如何我更喜欢非RVM方式,所以问题是:我怎么知道哪个版本的gem与我的Ruby兼容?

1 个答案:

答案 0 :(得分:1)

来自Nokogiri CHANGLOG.rdoc的来源:

  

1.6.0.rc1 / 2013-04-14

     

此版本基于v1.5.9,因此不包含v1.5.10注释中提到的任何修复。

   Notes

       mini_portile is now a runtime dependency

       Ruby 1.9.2 and higher now required

   Features

       (MRI) Source code for libxml 2.8.0 and libxslt 1.2.26 is packaged with the gem. These libraries are compiled at gem install time unless the environment variable NOKOGIRI_USE_SYSTEM_LIBRARIES is set. VERSION_INFO (also `nokogiri -v`) exposes whether libxml was compiled from packaged source, or the system library was used.

       (Windows) libxml upgraded to 2.8.0

   Deprecations

       Support for Ruby 1.8.7 and prior has been dropped

您可以尝试使用之前的版本,例如 1.5.10 / 2013-06-07

对于构建本机扩展的错误,您应该检查Nokogiri的构建日志。您的系统很可能错过了某些库依赖项,例如libxml,libyaml等.RVM可能会以其方式处理您的依赖关系,因此在使用RVM构建时不会出错。