Ответ 1
Это работает как шарм!
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
Я работаю над приложением rails, которое позволяет вставлять изображения в каждую используемую учетную запись. Я использую веб-службы paperclip и amazon:
gem 'paperclip'
gem 'aws-sdk'
Когда я запускаю установку пакета, я получаю это сообщение:
extconf не удалось, код завершения 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/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.
Когда я пытаюсь запустить gem install nokogiri, я получаю это сообщение:
extconf не удалось, код завершения 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
Моя ОС - Mac OS X 10.9.4 Mavericks. Что здесь происходит? Как я могу заставить nokogiri правильно установить и вести себя правильно?
Полная трассировка стека:
Building native extensions with: '--use-system-libraries'
This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... yes
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** 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=/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-libxslt-config
--without-libxslt-config
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include
--with-exslt-lib
--without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
extconf failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
Это работает как шарм!
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
Вы пробовали gem install nokogiri -v 1.6.5 -- --use-system-libraries
? Большинство ошибок nokogiri связаны с libxml2, libxslt или libiconv config.
Nokogiri docs должен дать вам больше инструкций. Если решение не работает, вы можете отправить полную трассировку стека, чтобы другие могли помочь.
после обновления до Rails 4.2.4 (который включает Nokogiri 1.6.6.2
) в Ubuntu 14.04 (я использую RVM) мне нужно было сделать это:
sudo apt-get install libgmp-dev
или
sudo apt-get install libgmp3-dev
Я решил это, установив зависимости xcode, которые необходимо установить Nokogiri:
xcode-select --install
После этого снова установите пакет, и он должен работать.
В Ubuntu попробуйте установить следующие зависимости:
sudo apt-get install gcc ruby-dev libxslt-dev libxml2-dev zlib1g-dev
Поскольку OP ссылался на bundle install
, который я тоже использовал, я думаю, что стоит указать страницу установки Nokogiri, которая в конечном итоге показало самое изящное решение (которое работало и на Mac OS X 10.8.5):
bundle config build.nokogiri --use-system-libraries
bundle install
Это инструктирует bundler установить nokogiri, как в ответах @kasperite
В соответствии с инструкцией по установке nokogiri,
sudo apt-get install zlib1g-dev
решил проблему для меня.
Пакет, который сделал это:
apt-get install libghc-zlib-dev
Другой возможный кандидат:
zlib1g-dev
от 12.04
нашел здесь
Я не получил такое же сообщение об ошибке, как вы, но я хотел отметить, что я наконец нашел в качестве необычайно простого решения для установки nokogiri на Ubuntu:
Оказывается, процесс сборки nokogiri зависит от patch
.
Выполнить: sudo apt-get install patch
Я работал над виртуальной машиной (на самом деле это бродячий блок), поэтому я еще не установил patch
.
Ошибка, которую я получил (после многих других вещей, которые выглядели как ошибка, но на самом деле было всего лишь предупреждением):
Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2... OK
Running patch with /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization-for-the-catalog-module.patch...
Running 'patch' for libxml2 2.9.2... ERROR, review '/var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2/patch.log' to see what happened.
Я удалил журнал на данный момент (это было в моем сеансе терминала), но файл patch.log
, упомянутый выше, был абсурдно простым; он просто сказал что-то вроде patch not found
.
Мальчик, я чувствовал себя глупо для всех копаний вокруг, я делал установку библиотек, пытающихся это исправить!:)
установить gcc сначала
in * buntu: apt-get install gcc
после этого U может запрашивать большинство dev libs, таких как libxml2/zlib/и т.д. см. журнал сборки (путь в моем случае): /var/lib/gems/ 2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8.1/mkmf.log для строки как - фатальная ошибка: zlib.h: Нет такого файла или каталога
Чтобы взять из dylanjhunt удивительный ответ на Github, на всякий случай никто его не пробовал,
Просто чтобы добавить к этому, у меня была очень похожая проблема, которая была разрешено путем обновления инструментов для разработчиков.
xcode-select --install
Надеясь, что кто-то увидит это, что еще не пробовал сделать это, и это помогает.