2015-01-08 3 views
5

Я видел много вопросов такого рода, но у меня есть немного другая ситуация, поэтому я делаю bundle install и получил это:nokogiri не удается установить OSX

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r ./siteconf20150109-25233-1jiriou.rb extconf.rb --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ 
checking if the C compiler accepts ... yes 
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no 
Building nokogiri using packaged libraries. 
checking for iconv using --with-iconv-* flags... no 
checking for iconv... no 
----- 
libiconv is missing. Please locate mkmf.log to investigate how it is failing. 
----- 
*** 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. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby 
    --help 
    --clean 
    --use-system-libraries 
    --enable-static 
    --disable-static 
    --with-zlib-dir 
    --without-zlib-dir 
    --with-zlib-include 
    --without-zlib-include=${zlib-dir}/include 
    --with-zlib-lib 
    --without-zlib-lib=${zlib-dir}/lib 
    --enable-cross-build 
    --disable-cross-build 

extconf failed, exit code 1 

Gem files will remain installed in /var/folders/sk/x8m9btmj1g58c906v0z3k2br0000gq/T/bundler20150109-25233-o53u4y/nokogiri-1.6.5/gems/nokogiri-1.6.5 for inspection. 
Results logged to /var/folders/sk/x8m9btmj1g58c906v0z3k2br0000gq/T/bundler20150109-25233-o53u4y/nokogiri-1.6.5/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.5/gem_make.out 
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue. 
Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling. 

Я libiconv установлен, я попытался в таким образом gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ gem устанавливает нормально, но я пытаюсь связать. Я снова получил ту же ошибку. Аналогичная ситуация возникает, когда я пытаюсь сделать gem install nokogiri -v '1.6.5'. Установка в порядке, я вижу драгоценный камень в списке драгоценных камней, но похоже, что пакет не видит он, я попытался включить его в свой файл gem с этой конкретной версией, но все еще имею эту ошибку

ответ

4

Вы можете использовать bundle config установить этот путь:

bundle config build.nokogiri "--with-iconv-dir=/usr/local/Cellar/libiconv/1.14/" 
bundle install 
+1

Я попробовал это тоже такая же ошибка – maki

+0

Комбинированное это с ответом cbertelegni, это сработало! – Tiago

9

Это работало для меня: http://www.nokogiri.org/tutorials/installing_nokogiri.html#using_nonstandard_libxml2___libxslt_installations

gem install nokogiri -- \ 
    --use-system-libraries \ 
    --with-xml2-config=/usr/bin/xml2-config \ 
    --with-xslt-config=/usr/bin/xslt-config 

А потом bundle update

+0

Это сработало для меня! :-) –

+0

это сработало для меня на эль-капитане, спасибо –

0

Это работает для меня, благодаря Gergő & cbertelegni:

bundle config build.nokogiri "-- \ 
    --use-system-libraries \ 
    --with-xml2-config=/usr/bin/xml2-config \ 
    --with-xslt-config=/usr/bin/xslt-config" 
bundle install 
4

Это работает для меня bundle config build.nokogiri "--use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2"

Выполнить эту команду, чтобы установить конфиг перед тем bundle install

Я получил это решение от https://github.com/sparklemotion/nokogiri/issues/1099

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