Совместимость с версиями Ruby и Gem
У меня был SSH-сеанс на каком-то сервере Ubuntu. Последний доступный пакет Ruby с -full
был 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-путь, поэтому возникает вопрос: как узнать, какая версия гема совместима с моим Ruby?
1 ответ
Извлечение из CHANGLOG.rdoc Nokogiri в его источнике:
1.6.0.rc1 / 2013-04-14
Этот выпуск основан на версии 1.5.9 и поэтому не содержит исправлений, упомянутых в примечаниях к версии 1.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.