Проблема установки драгоценного камня Nokogiri в Mac OS X 10.5.8 - PullRequest
7 голосов
/ 17 февраля 2012

Я пытаюсь установить гем Nokogiri в RVM-управляемой установке Ruby 1.8.7 в OS X Leopard (10.5.8).

Я получаю следующую ошибку:

Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

        /Users/user/.rvm/rubies/ruby-1.8.7-p352/bin/ruby extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlHasFeature()... no
-----
The function 'xmlHasFeature' is missing from your installation of libxml2.  Likely this means that your installed version of libxml2 is old enough that nokogiri will not work well.  To get around this problem, please upgrade your installation of libxml2.

Please visit http://nokogiri.org/tutorials/installing_nokogiri.html for more help!
*** extconf.rb failed ***

У меня установлена ​​последняя версия libxml2 через homebrew (brew install libxml2), поэтому я не знаю, что еще попробовать.


Обновление

Я попробовал инструкции с веб-сайта Nokogiri, и я не могу заставить установку драгоценного камня Nokogiri распознать libxml2.

За инструкции Я установил и связал libxml2 и libxslt с помощью homebrew:

brew install libxml2 libxslt
brew link libxml2 libxslt
gem install nokogiri

Сообщение об ошибке изменилось, но установка Nokogiri жалуется, что libxml2 отсутствует:

...
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... no
-----
libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies

Установленная версия libxml2 - 2.7.8.


Обновление обновления:

Я попытался установить библиотеку iconv из homebrew, чтобы посмотреть, смогу ли я устранить ошибку checking for iconv_open() in iconv.h... no, поэтому я выполнил команды:

brew install libiconv
brew link libiconv

И после завершения установки я попытался установить gem nokogiri снова, чтобы получить это сообщение об ошибке, где установщик теперь жалуется, что libiconv отсутствует

hecking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----

Я невежественен.

Ответы [ 3 ]

4 голосов
/ 17 февраля 2012

В соответствии с указаниями по адресу: http://nokogiri.org/tutorials/installing_nokogiri.html вам нужно было использовать:

brew install libxml2 libxslt
brew link libxml2 libxslt

затем

gem install nokogiri

Использовали ли вы их или только brew install libxml2?

0 голосов
/ 12 августа 2014
brew install libxml2 libxslt
gem install nokogiri -- \
    --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.x/lib \
    --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.xx \
    --with-iconv-lib=/usr/lib \
    --with-iconv-include=/usr/local/include
0 голосов
/ 25 октября 2012

Убедитесь, что версия Nokogiri недоступна:

use gem uninstall nokogiri

Сначала установите инструмент командной строки для Xcode. См. « Как использовать / установить gcc в Mac OS X 10.8 / Xcode 4.4 ».

Затем выполните следующие команды:

brew install libxml2
gem install nokogiri

Теперь все работает хорошо, я попробовал.

...