2014-12-16 3 views
12

Я работаю над приложением rails, которое позволяет вставлять изображения в каждую используемую учетную запись. Я использую PAPERCLIP и Амазонка веб-сервисов:Ошибка при установке Nokogiri gem

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. 

Когда я пытаюсь запустить ' драгоценный камень установить 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 

ответ

28

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

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

+0

@CarySwoveland Hey Cary! Извините, я удалил вопрос, поскольку он был отмечен как закрытый.Ваш ответ прекрасен! Отлично работает! Большое спасибо sooooooooooooo много! :) –

+0

Рад, что это помогло, Кэти. (Я тоже удалю этот комментарий.) –

+0

Lovely !! Работал как charm – KrishCdbry

7

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

Nokogiri docs должен предоставить вам больше инструкций. Если решение не работает, вы можете отправить полную статистику стека, чтобы другие могли помочь.

+1

правильно, вам нужно установить libxml2 :) , сначала запустите 'brew install libxml2', затем повторите попытку. Если вы получите ошибку с libxslt и libiconv, то сделайте то же самое – kasperite

+0

Спасибо, я пробовал это, но не работал, он продолжает говорить мне, что libxml2 уже установлен, см. Мой ответ –

+0

Я очень ценю, что вы изучаете это! :)) –

1

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

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

Это указывает пакетирования установить nokogiri как в ответах @kasperite

1

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

sudo apt-get install zlib1g-dev

решен вопрос для меня.

+0

'zlib1g-dev - это уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 удалено и 8 не обновлено. ' – nelsonic

+0

Работал и на Ubuntu 16.04. –

1

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

apt-get install libghc-zlib-dev 

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

zlib1g-dev на 12,04

нашел here

3

после обновления до Rails 4.2.4 (который inculdes Nokogiri 1.6.6.2) на Ubuntu 14.04 (я использую RVM) мне нужно сделать, это:

sudo apt-get install libgmp-dev 

или

sudo apt-get install libgmp3-dev 
+0

Я так старался и почти 10 раз устанавливал библиотеки. НАКОНЕЦ «libgmp3-dev» работал для меня. Благодарю. – Anuja

0

я не получаю то же сообщение об ошибке, как вы, но я хотел бы отметить, что я наконец-то нашел как чрезвычайно простое решение для установки 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.

Мальчик, я чувствовал себя глупо для всех копаний вокруг, я делал установку библиотек, пытаясь исправить это! :)

0

установки НКУ первый

в * buntu: APT-получить установку GCC

после этого U может requer большинство Дев, 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: Нет такой файл или каталог

2

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

xcode-select --install 

После этого пусковой комплект снова устанавливается и он должен работать.

2

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

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

взять из dylanjhunt's awesome answer on Github, на всякий случай, если кто не пробовал,

Just to add to this, I was having a very similar issue that was resolved by updating dev tools.

xcode-select --install

Hoping someone sees this that had not tried doing this yet and it helps.

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