Не удалось установить nokogiri gem

Я работаю над приложением rails, которое позволяет прикреплять изображения к каждой учетной записи использования. Я использую скрепку и веб-службы amazon:

gem 'paperclip'
gem 'aws-sdk'

когда я запускаю bundle install, я получаю это сообщение:

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

12 ответов


это работает как шарм!

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

https://stackoverflow.com/a/24511149


ты пробовал gem install nokogiri -v 1.6.5 -- --use-system-libraries?Большинство ошибок nokogiri связаны с конфигурацией libxml2, libxslt или libiconv.

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

на Ubuntu, попробуйте установить следующие зависимости:

sudo apt-get install gcc ruby-dev libxslt-dev libxml2-dev zlib1g-dev

Я решил это, установив зависимости xcode, которые необходимо установить Nokogiri:

xcode-select --install

после этого запустите bundle install снова, и он должен работать.


Так как OP ссылался bundle install который я случайно использовал, я думаю, что стоит указать Установка Nokogiri страница, которая в конечном итоге показала самое элегантное решение (которое работало для меня также на Mac OS X 10.8.5):

bundle config build.nokogiri --use-system-libraries
bundle install

это поручает bundler установить nokogiri, как в ответах @kasperite


пакет, который это сделал:

apt-get install libghc-zlib-dev

другой возможный кандидат:

zlib1g-dev на 12.04

нашел здесь


согласно инструкции по установке nokogiri,

sudo apt-get install zlib1g-dev

решил проблему для меня.


Я не получил то же сообщение об ошибке, что и вы, но я хотел отметить, что я, наконец, нашел как чрезвычайно простое решение для установки nokogiri на Ubuntu:

оказывается, процесс сборки nokogiri зависит от patch.

Run:sudo apt-get install patch

Я работал над VM (на самом деле бродячая коробка), поэтому у меня еще не было 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/библиотека/драгоценные камни/2.3.0/расширения/архитектуру x86_64-linux и/2.3.0/nokogiri по-1.6.8.1/mkmf.бревно для string like-фатальная ошибка: zlib.ч: нет такого файла или каталога


принять от удивительный ответ dylanjhunt на Github, на всякий случай, если кто-то не пробовал,

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

xcode-select --install

надеясь, что кто-то видит это, что еще не пробовал это сделать, и это помогает.


у меня был тот же вопрос ранее сегодня. Я обновил свой xcode и не имел условия еще не согласованы. Запустив sudo xcodebuild -license и соглашаясь мой узел снова заработал.