2013-07-28 3 views
4

У меня возникли проблемы с установкой Nokogiri. Когда я запускаю bundle install или gem install nokogiri, установка завершается с ошибкой.Почему Nokogiri не устанавливается?

Ошибка я получаю: (Примечание: Эта неудача с помощью команды установки на nokogiri.org)

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

    /Users/roneesh/.rbenv/versions/1.9.3-p194/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28/ --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib 
Extracting libxml2-2.8.0.tar.gz into tmp//ports/libxml2/2.8.0... OK 
Running 'configure' for libxml2 2.8.0... ERROR, review 'tmp//ports/libxml2/2.8.0/configure.log' to see what happened. 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Команда, которую я пытаюсь использовать это:

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28/ --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib 

Я установил xml2, xslt и libiconv все с пивом и поставил их соответствующие версии выше. Все еще нет разрешения. Единственное, чего я не сделал, это libiconv из источника (моя команда wget не работает по какой-то причине).

+0

Почему вы передавая ему все эти варианты? –

+1

Показать содержимое 'tmp // ports/libxml2/2.8.0/configure.log' –

ответ

5

Вам нужно указать nokogiri для использования системных библиотек, поэтому он не пытается их самостоятельно создавать.

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install

Ответ здесь: Error installing nokogiri 1.6.0 on mac (libxml2).

1

Установка NOKOGIRI_USE_SYSTEM_LIBRARIES=1 также сделала трюк для меня, но мне пришлось установить родные библиотеки, камень зависит от первого (я сделал это с помощью Homebrew), а затем рассказывал драгоценный камень, чтобы использовать их.

Сведение:

  • Если ранее было установлено, удалите камень:
    $ gem uninstall nokogiri

  • Используйте Homebrew для установки libxml2, libxslt и libiconv:
    $ brew install libxml2 libxslt libiconv

  • Установите камень с указанием па тыс к библиотекам, которые будут связаны с:
    $ NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"

Смежные вопросы