Nokogiri: либикон отсутствует

Созданный на 3 апр. 2011  ·  109Комментарии  ·  Источник: sparklemotion/nokogiri

Мы используем Ruby 1.8.7 (через RVM) на OS X 10.6.6. Попытка установить nokogiri 1.4.4 с помощью сборщика всегда приводит к следующей ошибке:

Installing nokogiri (1.4.4) with native extensions /Users/administrator/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/Users/administrator/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb 
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
[…]

Следуя инструкциям здесь, в вики, а также в сети, мы использовали MacPorts для установки libxml2 и libxslt , что приводит к следующей ситуации:

sudo port install libxml2 libxslt
Password:
Error: Cannot install libxml2 for the arch(s) 'x86_64' because
Error: its dependency libiconv is only installed for the archs 'i386 ppc'.
Error: Unable to execute port: architecture mismatch

Мы собрали libxml2 и libxslt из исходного кода и попытались установить как гем с флагами для MacPorts, так и сборку, как описано в вики, а также несколько вариантов, найденных в Интернете. — Результаты остаются прежними. Мы даже загрузили гем, изменили extconf.rb , как предлагается здесь: https://github.com/tenderlove/nokogiri/issues#issue/381 , и скомпилировали его локально, но окончательный результат тот же.

Что нам не хватает? Мы почти застряли в этой ситуации.

Все 109 Комментарий

Я задал этот же вопрос и получил такой ответ:

Установите MacPorts: http://www.macports.org
Добавьте /opt/local/bin в свой PATH (bashrc или zshrc или что вы используете).
порт sudo установить libxml2 и порт sudo установить libxslt
Затем sudo gem install nokogiri --no-rdoc --no-ri должен работать без проблем. Это все, что мне нужно было сделать для системы ruby ​​(1.8.7 на OSX 10.6) и 1.9.2 через rvm.

У меня были такие же проблемы на 10.6. Я переустановил MacPorts, порт снова установил libxml2 и libxslt, и теперь у меня больше нет этих проблем.

Предполагая, что вы установили libxml2 и libxslt с MacPorts, вы все равно можете получить эту ошибку из-за несоответствия порядка путей включения и путей ссылок, используемых вызовом have_func('iconv_open', 'iconv.h')

Простое (патч) решение: удалить libiconv.* в /usr/local/lib

Предложение: пусть extconf.rb выполняет несколько более сложную проверку того, какие библиотеки iconv на самом деле установлены, и дает пользователю лучшую подсказку. В этом случае libiconv НЕ отсутствует. На самом деле там ДВА либиконва, компилировался правильный заголовок и линковалась старая библиотека. Похоже, это очень распространенная проблема, с которой сообщение об ошибке файла установки могло бы немного помочь.

И я думаю, что это может быть проблема с mkmf и тем, как он обрабатывает пути к библиотекам? Неудачная проверка компиляции для меня была:

```"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/i686-darwin10.3.0 -I. -III/opt/local/include -III/usr/local/include -III /usr/local/include -III/usr/include -III/usr/include/libxml2 -I/opt/local/include/libxml2 -I/usr/local/include/libxml2 -I/usr/local/include/libxml2 -II/opt/local/include -II/usr/local/include -II/usr/local/include -II/usr/include -II/usr/include/libxml2 -I/opt/local/include -I/usr /local/include -I/usr/local/include -I/usr/include -I/usr/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c -L.-L/usr/local/lib -L/opt/local/lib -L/usr/local/lib -L /usr/lib -L.-lruby-static -lpthread -ldl -lobjc "
Неопределенные символы для архитектуры x86_64:
"_libiconv_open", ссылка из:

Note the compile stage starts with /opt/local/include, but the link stage starts with /usr/local/lib, which is where the old version was

Я использую Lion и homebrew. Для меня это помогло:

brew install libiconv
brew link libiconv

В моем случае (миграция на OS X Lion), чтобы решить проблему, я почистил macports:

port -qv installed > myports.txt
sudo port -fp uninstall --follow-dependents installed
sudo port clean all

Подробнее: http://trac.macports.org/wiki/Миграция

+1 к тому, что сказал jfahrenkrug. Руководство по установке на http://nokogiri.org/tutorials/install_nokogiri.html , раздел homebrew, вероятно, следует обновить;

варить установить libxml2 libxslt
ссылка для варки libxml2 libxslt

к

варить установить libxml2 libxslt libiconv
ссылка для варки libxml2 libxslt libiconv

исправление jfahrenkrug также сработало для меня

+1 у меня работает

Я следовал инструкциям по сборке libxml2 и libxslt из brew. Я не могу построить нокогири.

Я получаю сообщение об ошибке, когда пытаюсь «варить установку libiconv»:

$ варить установить libiconv
Ошибка: нет доступной формулы для libiconv.
Apple распространяет libiconv вместе с OS X, вы можете найти его в /usr/lib.
Некоторые сценарии сборки не могут правильно определить его, проверьте существующие
формулы растворов.

У меня новая установка Snow Leopard. Я бы предпочел не использовать MacPorts.

Пожалуйста помоги.

@jseigler Я запускаю brew 0.8.1 и без проблем могу установить libiconv. Попробуйте обновить пиво?

У меня была та же проблема, что и у @jseigler. Я использую brew 0.9 на OS X 10.7.3.

Загрузка libiconv и сборка вручную сработали.
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

Если вы разберетесь, как установить Nokogiri против библиотек brew 0.9, дайте мне знать — я обновлю документацию по установке. Тем временем, однако, как пользователь в основном Linux, я боюсь, что не смогу сильно помочь.

@tenderlove , есть идеи? Вы <3 Mac. :) :) :) :)

При использовании brew 0.9 на OSX 10.7.3 работало следующее:

варить установить libxml2 libxslt
ссылка для варки libxml2 libxslt

Установите libiconv из исходников:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
смолка xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Подвал/libiconv/1.13.1
сделать
судо сделать установить

Затем установите нокогири:
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Подвал/libiconv/1.13.1/lib

@ Бренненф

Хорошо сделано. Это сделало это и для меня.

Инструкции, размещенные на nokogiri.org:

http://nokogiri.org/tutorials/install_nokogiri.html#homebrew_09

Спасибо всем.

@brennenf Спасибо за эту строчку
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Подвал/libiconv/1.13.1/lib

@brennenf ваше исправление дает мне хорошее «Успешно установлено nokogiri-1.5.2», но когда я запускаю установку пакета в моем приложении rails, оно все еще не работает: «Произошла ошибка при установке nokogiri (1.5.2), и Bundler не может продолжить.
Перед объединением убедитесь, что gem install nokogiri -v '1.5.2' выполняется успешно». Обратите внимание, что «gem install nokogiri -v '1.5.2» также не работает. Кто-нибудь еще сталкивался с этим?

@ttringas — пожалуйста, напишите nokogiri-talk. эта проблема касается nokogiri 1.4.4 и была закрыта в течение нескольких месяцев.

Привет, какие-нибудь новости о Mountain Lion?
У меня не получается выполнить установку.

Я обновил путь, указанный на странице установки nokogiri:

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

это то, что я получил взамен: https://gist.github.com/3186643

@polarblau , смотри, у кого сейчас проблемы :D (у меня)

Это может помочь, но кажется, что «экосистема» RVM глючит после обновления до горного льва. Я удаляю .rvm и устанавливаю rvm с помощью http://unfiniti.com/software/mac/jewelrybox/ , и теперь он работает, но у меня есть предупреждение, в котором говорится:
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

То же самое здесь, переустановка ruby ​​помогла (я не очень удивлен - это довольно распространенная ошибка)

@pietia ;) и др. Некоторые идеи на SO, FYI — http://stackoverflow.com/questions/5528839/installing-nokogiri-fails-libiconv-missing .

@polarblau , поздно! это я уже читал ;)

Чтобы установка работала на моем недавно обновленном Mountain Lion, мне пришлось удалить ранее установленные пакеты rvm (расположенные в $rvm_path/usr), пересобрать ruby ​​1.9.3, а затем gem install nokogiri преуспел. См. https://rvm.io/packages/

Я на горном льве. Переустановка Ruby сработала для меня.

проверка libxml/parser.h... нет

libxml2 отсутствует.

Я обнаружил, что для решения описанной выше задачи для Homebrew 0.9 в Mac OS X 10.8 Mountain Lion требуется один дополнительный шаг, а именно создание ссылки «/usr/bin/gcc-4.2»:

варить установить libxml2 libxslt
ссылка для варки libxml2 libxslt
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
смолка xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Подвал/libiconv/1.13.1
сделать
судо сделать установить
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Подвал/libiconv/1.13.1/lib

brax4444 большое спасибо, вы спасаете жизнь!! Отлично работал с добавлением sudo к вашей последней команде из-за ошибки:

ОШИБКА: при выполнении драгоценного камня... (Errno::EPERM)
Операция запрещена - ~/.rvm/gems/ruby-1.9.3-p194/gems/nokogiri-1.5.5/.autotest

brax4444 мужик! Спасибо

Интересно, может ли кто-нибудь помочь новичку:

Бегущий горный лев 10.8.2 с доморощенным пивом.

Начал с nokogiri 1.5.2 - не хватало типичного libiconv.

Между этой веткой, в частности Brax4444 и руководством по установке на nokogiri: http://nokogiri.org/tutorials/installing_nokogiri.html для Homebrew .9, у меня осталось следующее FUBAR:

У меня сейчас нокогири 1.5.5 где рельсы ищет 1.5.2

По-прежнему не удалось исправить проблему с libiconv, несмотря на бесчисленные часы.

Больше не может выполнять команды rails из-за отсутствия драгоценного камня > nokogiri: 1.5.2

Попробуйте установить гем (который будет 1.5.5) или новые рельсы (на данный момент я что-то пробую... вернусь со следующей ошибкой: ОШИБКА: при выполнении гем... (Errno::EPERM)
Операция запрещена - /usr/local/rvm/gems/ruby-1.9.3-p194/gems/nokogiri-1.5.5/.autotest

Может ли кто-нибудь спасти меня? Я должен сдать приложение к завтрашнему дню.

Привет!

Спасибо, что задали этот вопрос! Ваш запрос о помощи в использовании Nokogiri не останется без ответа!

Тем не менее, эта проблема закрыта, и проблемы Github от Nokogiri зарезервированы для сообщений об ошибках или отправки исправлений. Если вы зададите свой вопрос в списке рассылки, команда Nokogiri обещает, что кто-то даст вам ответ своевременно.

Если вы хотите прочитать обоснование этой политики командой Nokogiri, перейдите по ссылке http://bit.ly/nokohelp.

Большое спасибо за понимание! И спасибо за использование Nokogiri.

brax4444, большое спасибо, ваши шаги помогли мне решить аналогичную проблему при установке pg gem.

Инструкции на странице http://nokogiri.org/tutorials/installing_nokogiri.html устарели из-за установки более новых версий (в настоящее время libxml2 версии 2.9.0 и libxslt версии 1.1.28).

@Уинстоны

Спасибо за ваш комментарий, но этот вопрос уже давно закрыт.

Если у вас есть обновление для документации по установке nokogiri, вы можете отправить запрос на извлечение по адресу:

https://github.com/sparklemotion/nokogiri.org-tutorials

или вы можете более четко изложить проблему и решения (комплектовщик не устанавливает libxml2 или libxslt ... вы имеете в виду brew? или порты Mac? или ...?) в новом выпуске, и мы решим его, когда сможем самостоятельно подтвердить.

Спасибо за использование Нокогири!

@flavorjones Извините! Я раскошелюсь.

Спасибо за соавторство Нокогири.

Мне также нужно было установить XCode, чтобы заставить это работать.

Мне нужно было установить инструменты разработчика командной строки.

@dentarg Спасибо, у меня была та же проблема, после восстановления моего Mac инструменты разработчика командной строки не были установлены.
Сделайте это с помощью этой команды «xcode-select --install»

используйте https://github.com/Homebrew/homebrew-dupes/blob/master/libiconv.rb

варить вкладку
заварить установить libiconv

а может это:
конфигурация пакета build.nokogiri --use-system-libraries

но не знаю, работает ли это

Спасибо @brax4444 , твой совет мне тоже помог!

Я использовал родной iconv. Вам не нужно связывать libxml2/libxslt.

brew install libxml2 libxslt
gem install nokogiri -- \
    --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib \
    --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 \
    --with-iconv-lib=/usr/lib \
    --with-iconv-include=/usr/local/include 

Спасибо @patricksereno.

конфигурация пакета build.nokogiri --use-system-libraries
это сработало для меня

Спасибо, brax4444! Эта одна строка (ссылка gcc) тоже помогла мне!

СМОТРИТЕ ОБНОВЛЕННЫЕ ИНСТРУКЦИИ: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550

ПРИМЕЧАНИЕ: если вы просматриваете все эти посты один за другим, пробуя все, то ВЫ ДЕЛАЕТЕ ЭТО НЕПРАВИЛЬНО. Все советы «заварить ссылку» (включая этот пост) — плохой совет. Все советы "--use-system-libraries" тоже плохие. СТАААААААА. Перейти к концу.

я считаю, что это сработало для меня:

brew tap homebrew/dupes
brew install libiconv
brew link libiconv --force
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local

Важным моментом здесь является то, что libiconv необходимо «связать» с /usr/local/include. При нажатии на кнопку «обманки» он будет жаловаться на переопределение системной библиотеки, поэтому вам нужно --force . Затем вам просто нужно указать nokogiri выполнить поиск /usr/local , чтобы найти путь iconv для передачи встроенной libxml2 при ее сборке. Используя --use-system-libraries , люди избавляются от необходимости находить эту библиотеку, чтобы передать ее во внутреннюю сборку libxml2.

Один из способов исправить это — добавить доморощенный конфиг pkg-config для libiconv, так как тогда nokogiri extconf.rb сможет его найти.

Другой способ - жестко закодировать /usr/local/include в качестве пути поиска здесь:

https://github.com/sparklemotion/nokogiri/blob/983ff1f2962c7f9fd20a6fc4c18784eccfff21c0/ext/nokogiri/extconf.rb#L132 -L133

Я пытался выяснить, как извлечь /usr/local/include из пути в mkmf ruby, и, черт возьми, смогу ли я понять, как это сделать. Слои косвенности в mkmf слишком глубоки. Метод find_header() в mkmf, безусловно, может найти iconv.h, но я не знаю, как извлечь информацию о том, по какому пути он его находит. На самом деле это было бы правильным исправлением для nokogiri, чтобы найти файл заголовка в так же, как mkmf может найти заголовочный файл.

Похоже, что тот факт, что nokogiri не может найти простой заголовочный файл в /usr/local/include без требования внешнего pkg-config, нарушен. Я вижу, насколько уродливым является жесткое кодирование пути, но я не знаю, как спросить mkmf, в каком каталоге find_header находит заголовок...

Также похоже, что здесь есть ошибка, из-за которой dir_config() может возвращать массив путей, разделенных ':', вместо массива из двух путей, но, похоже, это не имеет никакого отношения к решению этой проблемы:

https://github.com/sparklemotion/nokogiri/blob/983ff1f2962c7f9fd20a6fc4c18784eccfff21c0/ext/nokogiri/extconf.rb#L126 -L130

@lamont-granquist отличные инструкции, даже лучше, если вы переключите вкладку на тап :-)

@ericbrooke , лол, я скопировал это из предыдущего постера... исправлено...

Я думаю, что я пробовал каждую команду, упомянутую в этом посте, и все еще сталкивался с этим:

sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/'
This could take a while...
Building nokogiri using packaged libraries.
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

Я понятия не имею, почему iconv.h обнаруживается, а iconv_open() нет (это определено в этом файле). Я видел, что недавно кто-то столкнулся с точно такой же проблемой - http://stackoverflow.com/questions/24735534/nokogiri-install-fails-iconv-doesnt-work-osx

Кто-нибудь видел эту проблему?

СМОТРИТЕ ОБНОВЛЕННЫЕ ИНСТРУКЦИИ: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550

@ Рейнмар , можешь попробовать то, что я предложил. Особенно:

  1. brew link libiconv --force , а затем проверьте наличие ls -la /usr/local/include/iconv.h
  2. также проверьте наличие ls -la /usr/local/lib/libiconv.dylib
  3. затем просто: gem install nokogiri -- --with-iconv-dir=/usr/local

Все пути, которые вы используете для версионированных каталогов глубоко внутри «Подвала» доморощенного, довольно ужасны и хрупки, и я не слишком удивлен, что они не работают правильно.

Я использовал эти инструкции http://nokogiri.org/tutorials/installing_nokogiri.html , поэтому пути похожи (версии различаются).

piotrus<strong i="7">@macus</strong> ~> brew link libiconv --force
Warning: Already linked: /usr/local/Cellar/libiconv/1.14
To relink: brew unlink libiconv && brew link libiconv
piotrus<strong i="8">@macus</strong> ~> ls -la /usr/local/include/iconv.h
lrwxr-xr-x  1 piotrus  admin  39 Jul 29 19:47 /usr/local/include/iconv.h -> ../Cellar/libiconv/1.14/include/iconv.h
piotrus<strong i="9">@macus</strong> ~> ls -la /usr/local/lib/libiconv.dylib
lrwxr-xr-x  1 piotrus  admin  42 Jul 29 19:47 /usr/local/lib/libiconv.dylib -> ../Cellar/libiconv/1.14/lib/libiconv.dylib
piotrus<strong i="10">@macus</strong> ~> gem install nokogiri -- --with-iconv-dir=/usr/local
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
piotrus<strong i="11">@macus</strong> ~> sudo gem install nokogiri -- --with-iconv-dir=/usr/local
Password:
Building native extensions with: '--with-iconv-dir=/usr/local'
This could take a while...
Building nokogiri using packaged libraries.
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-iconv-dir=/usr/local
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no

Возможно, я попробую обновить Ruby/gem... :| Хотя это слепое предположение.

Хорошо... Обновление gem не помогло. Затем, после установки rvm (но до того, как я обновил Ruby с 2.0.0 до 2.1.*), я решил перезапустить терминал и по ошибке переключился с iterm на стандартный терминал и... установка nokogiri работала с та же команда, которая раньше не работала. Так что либо мне пришлось перезапустить терминал (хотя раньше я использовал много вкладок в iterm), либо это была какая-то проблема, вызванная xterm. Без понятия, но может кому поможет.

в дополнение к ответу @lamont-granquist вы можете пропустить установку драгоценного камня, если используете пакет и запустить:

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

После выполнения инструкций @lamont-granquist:

brew tap homebrew/dupes
brew install libiconv
brew link libiconv --force
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local

И столкнувшись с той же проблемой, что и @Reinmar , я нашел предложение на StackOverflow и объединил его с другими предложениями здесь, в результате чего:

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 sudo gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2

Это, наконец, сработало для меня, надеюсь, это поможет вам @Reinmar . Почему это работает, мне не понятно, _[сдержанные комментарии о закрытой экосистеме Apple здесь]_. Спасибо всем за то, что поделились своими методами.

Пришлось выдрать брагу и все варки переустановить с нуля и тогда заработало

@doublerebel я думаю, вам может понадобиться переустановить xcode и/или использовать xcode-select. то, что вы сделали, все равно запутано...

Кажется, что с текущей версией homebrew я смог обойтись слегка упрощенной версией того, что придумал @lamont-granquist:

brew tap homebrew/dupes
brew install libiconv
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local/opt/libiconv

Нет brew link --force libiconv ...

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

(хотя, возможно, отбросьте -v 1.6.3.1)

я бы обновил документы, но сейчас меня отвлекает другое кодирование...

После целого дня работы над этой проблемой стоит отметить, что приведенное выше решение @doublerebel — это первое, что сработает.

СМОТРИТЕ ОБНОВЛЕННЫЕ ИНСТРУКЦИИ: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550

это может помочь пользователям с Xcode 5.1.1:

 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

СМОТРИТЕ ОБНОВЛЕННЫЕ ИНСТРУКЦИИ: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550

Кроме того, я бы посоветовал убедиться, что Xcode 5.1.1 установлен (и/или переустановить его), а затем переустановить «Инструменты командной строки для Xcode» здесь: https://developer.apple.com/downloads/

Затем выполните:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv

Обновления и восстановление Mac OSX по какой-то причине, кажется, уничтожают Xcode и homebrew. Мне также нравится указывать его на /usr/local/opt/libiconv лучше, чем принудительно связывать его с /usr/local/include.

@lamont-granquist Спасибо за ваши решения. Я применил каждый из них, и ваш - это то, что, наконец, работает для меня.

Запуск «brew uninstall libxml2 libxslt», а затем «sudo gem install nokogiri» исправил это для меня.

Висту с использованием RVM и созданием нового набора драгоценных камней мне пришлось сделать следующее:

brew uninstall libiconv
brew install libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv

@lamont-granquist Большое спасибо за исправление. Работал на меня.

@lamont-granquist @ericbrooke спасибо. что убило это.

РЕДАКТИРОВАТЬ: ДАЖЕ ПРОСТЫЕ ИНСТРУКЦИИ: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -54091434

Итак, объединяя хорошие биты из вопроса stackoverflow в этом ответе:

Запустите это, чтобы установить последние инструменты командной строки Xcode и Xcode (выберите «Получить Xcode» в диалоговом окне):

sudo xcode-select --install

Затем обновите libiconv в homebrew:

brew tap homebrew/dupes
brew update
brew uninstall libiconv
brew install libiconv

Установка нокогири:

gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv

Это должно работать для всех на 10.9 + homebrew.

хотел бы услышать отзывы о ^^^, что

сработало для меня, спасибо!

-Крис

В четверг, 28 августа 2014 г., в 16:40, [email protected]
написал:

хотел бы услышать отзывы о ^^^, что


Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53794057
.

Из любопытства, для чего brew uninstall libiconv ? Означает ли это, что у вас уже каким-то образом установлен либиконв?

@knu да, это означает, что вы используете Mac OsX и установили libiconv через Homebrew , а не через MacPorts. Оба они являются менеджерами пакетов. Если вы не уверены, установлен ли brew, просто введите brew в терминале, если вы получите такой ответ:

Example usage:
  brew [info | home | options ] [FORMULA...]
  brew install FORMULA...
  brew uninstall FORMULA...
  brew search [foo]
  brew list [FORMULA...]
  brew update
  brew upgrade [FORMULA...]
  brew pin/unpin [FORMULA...]

Troubleshooting:
  brew doctor
  brew install -vd FORMULA
  brew [--env | config]

Brewing:
  brew create [URL [--no-fetch]]
  brew edit [FORMULA...]
  open https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook

Further help:
  man brew
  brew home

вы знаете, что доморощенный установлен.

brew list

покажет все установленные вами пакеты, включая libiconv

@ericbrooke Я имею в виду, я не видел смысла делать brew uninstall libiconv сразу после brew tap homebrew/dupes , когда libiconv можно было бы найти только после прослушивания дубликатов, потому что его нет в стандартном репо. Это на всякий случай, например, когда ваша доморощенная установка каким-то образом сломана?

Кроме того, как вы знаете из присутствия libiconv в «обманках», iconv является частью OS X + Xcode, и вам не нужно добавлять его через brew.

Я не использую Homebrew, но Homebrew не должен ничего трогать в /usr/{include,lib}, верно? Или переустановка libiconv через brew — это попытка восстановить сломанные?

На свежем MacBook Pro с установленными ванильными инструментами Mountain Lion+Xcode+Command Line Tools я вижу там /usr/include/iconv.h и /usr/lib/libconv.so, поэтому мне было интересно, в чем причина отсутствия этих файлы могут быть.

@lamont-granquist, спасибо.

Я сделал то, что вы перечислили. Я столкнулся с проблемой разрешения на:
У вас нет прав на запись в каталог /Library/Ruby/Gems/2.0.0.

По-видимому, мне нужно исправить мой rvm, и после следующего шага он был установлен и продолжил процесс установки пакета.
РВМ установить 2.1.2
рвм использовать 2.1.2
обновление драгоценного камня --система

@knu, да, каждый раз, когда я обновляю операционную систему или восстанавливаю ее с машины времени, она, кажется, выбрасывает доморощенное пиво, и мне приходится все переустанавливать. эти инструкции настолько пессимистичны, насколько это возможно. если у кого-то есть нормальная чистая установка xcode и libiconv правильно установлен в homebrew, тогда последняя команда установки gem - это все, что нужно.

Итак, получается, что /usr/local/include/iconv.h #define iconv_open to libiconv_open и по какой-то причине clang подхватывает заголовочный файл homebrew в /usr/local/include поверх /usr/include и затем пытается связать против /usr/lib/libiconv.dylib. Хитрость заключается в том, чтобы удалить заголовочный файл iconv.h, созданный путем принудительного связывания libiconv.

TL;DR: предыдущие инструкции о том, как «исправить» эту проблему (включая мою), усугубляют ситуацию.

Итак, актуальная инструкция по восстановлению установки Mac:

Убедитесь, что Xcode и утилиты командной строки установлены правильно. Это устраняет проблемы, из-за которых у меня не было заголовочного файла /usr/include/iconv.h. Выберите «Получить Xcode» в диалоговом окне:

sudo xcode-select --install

Возможно, вы захотите обновить доморощенный и libiconv, если он устарел (и если ваш libiconv в доморощенном установлен давным-давно). Это, вероятно, совершенно необязательно, так как сейчас мы вообще не будем связываться с доморощенным libiconv:

brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv

Не связывайте libiconv, чтобы он не переопределял системный libiconv (если это дает вам «нет такого бочонка», это нормально, любая другая ошибка, и вы, вероятно, захотите вернуться и обновить доморощенный и libiconv):

brew unlink libiconv

Построить нокогири:

gem install nokogiri

@lamont-granquist Большое спасибо!!

@lamont-granquist Не знаю почему, но в вашем последнем комментарии gem install nokogiri у меня не сработало.
Вместо этого, после выполнения всех шагов, таких как:

brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv
brew unlink libiconv

gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv сработало для меня.

Я на 10.9, с rvm, если это поможет.

@lamont-granquist Спасибо за отличное расследование! Я думаю, что попытаюсь воспроизвести проблему и выработать «исправление» для этого.

@SeanWangDev где-то у вас есть еще один iconv.h, который сначала подбирается и используется. Это может быть MacPorts вместо Homebrew.

Да, я так думаю. Есть один в

/usr/local/Cellar/libiconv/1.14/include/iconv.h

еще один в

/usr/include/iconv.h

Более поздняя версия является предыдущей.
Спасибо @lamont-granquist

/usr/include/iconv.h в порядке, это часть Xcode, первый - это доморощенный, который спрятан в «Подвале», что тоже хорошо. Если в /opt/local/include или где-то еще ничего нет, то я предполагаю, что /usr/lib/libiconv.dylib каким-то образом поврежден?

@lamont-granquist Сейчас это немного не в моих силах. Как мы можем узнать, что libiconv.dylib поврежден?
Когда я делаю ls -al /usr/lib/libiconv* , результат такой

xxxx  1 xxx  xxx       16 10  5  2013 /usr/lib/libiconv.2.4.0.dylib -> libiconv.2.dylib
xxxx  1 xxx  xxx  2088992 10  5  2013 /usr/lib/libiconv.2.dylib
xxxx  1 xxx  xxx       20 10  5  2013 /usr/lib/libiconv.dylib -> libiconv.2.4.0.dylib

Да, выглядит нормально, это мой:

% ls -al /usr/lib/libiconv*
lrwxr-xr-x  1 root  wheel       16 Feb 26  2014 /usr/lib/libiconv.2.4.0.dylib@ -> libiconv.2.dylib
-r-xr-xr-x  1 root  wheel  2088992 Feb 26  2014 /usr/lib/libiconv.2.dylib*
lrwxr-xr-x  1 root  wheel       20 Feb 26  2014 /usr/lib/libiconv.dylib@ -> libiconv.2.4.0.dylib

А как насчет /opt/local/lib/libiconv.dylib или /opt/local/include/iconv.h ? Любой из них может вызвать проблемы.

@lamont-granquist
Нет, у меня нет каталога /opt/. Это то, что мы ищем?

-r--r--r--+ 1 User  admin  1052128  9  4 11:30 /usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib
-rw-r--r--+ 1 User  admin  1658  9  4 11:22 /usr/local/Library/Taps/homebrew/homebrew-dupes/libiconv.rb
-r-xr-xr-x  1 root  wheel  2088992 10  5  2013 /usr/lib/libiconv.2.dylib

Файлы iconv.h — это только эти два:

/usr/local/Cellar/libiconv/1.14/include/iconv.h
/usr/include/iconv.h

Нет все круто. Насколько я вижу, вы должны иметь возможность «gem install nokogiri» без каких-либо других аргументов....

Просто хотел добавить, что gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local хорошо сработало для меня. При использовании бандлера мне приходилось делать bundle config build.nokogiril --with-iconv-dir=/usr/local

@lamont-granquist Да, gem install nokogiri теперь работает нормально. Но это состояние другое. На этот раз nokogiri уже был установлен ранее с помощью «gem install nokogiri --with-iconv-dir=/usr/local/opt/libiconv». Раньше, когда у меня не был установлен nokogiri, «gem install nokogiri» не работал.
Возможно ли, что запуск «gem install nokogiri --with-iconv-dir=/usr/local/opt/libiconv» изменил какие-то файлы или добавил некоторые файлы, такие как libiconv.dylib или iconv.h ?

@SeanWangDev :+1:

ОС Х 10.9.4 Маверикс.
Ребята, пожалуйста, помогите мне. Я пробовал каждый способ, который выше. Ни один из них не работает на меня. Я поставил на gem install nokogiri с/без аргументов, но все равно получаю ошибку:

$ gem установить нокогири
Создание нативных расширений. Это может занять некоторое время...
Сборка нокогири с использованием упакованных библиотек.
ОШИБКА: Ошибка установки nokogiri:
ОШИБКА: не удалось создать собственное расширение gem.

/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb

Сборка нокогири с использованием упакованных библиотек.
проверка iconv.h... * ошибка extconf.rb *
Не удалось создать Makefile по какой-то причине, возможно, из-за отсутствия необходимого
библиотеки и/или заголовки. Дополнительные сведения см. в файле mkmf.log. Вы можете
нужны параметры конфигурации.

Предусмотренные параметры конфигурации:
--with-opt-dir
--без-опт-дир
--with-opt-include
--without-opt-include=${opt-dir}/включить
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--без-сделать-прог
--srcdir=.
--curdir
--ruby=/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby
--помощь
--чистый
--use-системные библиотеки
--enable-static
--отключить-статический
--with-zlib-каталог
--без-zlib-каталог
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-кросс-сборка
--отключить кросс-сборку
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:434:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:565:in try_cpp'
из /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1044:in блок block in have_header' from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:895:in в check_for'
из /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in block (2 levels) in postpone' from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in open'
из /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in block in postpone' from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in open'
из /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:336:in postpone' from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:894:in check_for'
из /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1043:in have_header' from extconf.rb:103:in have_iconv?'
из extconf.rb:148:in block (2 levels) in iconv_prefix' from extconf.rb:90:in с сохранением_глобалов
из extconf.rb:143:in block in iconv_prefix' from extconf.rb:120:in each_iconv_idir'
из extconf.rb:137:in блок iconv_prefix' from extconf.rb:428:in в

'
из extconf.rb:161:in block in process_recipe' from extconf.rb:154:in tap'
из extconf.rb:154:in process_recipe' from extconf.rb:423:in
'

Файлы Gem останутся установленными в /usr/local/rvm/gems/ruby-2.0.0-p353/gems/nokogiri-1.6.3.1 для проверки.
Результаты записываются в /usr/local/rvm/gems/ruby-2.0.0-p353/gems/nokogiri-1.6.3.1/ext/nokogiri/gem_make.out

подтвердите, что у вас есть эти файлы:

% ls -la /usr/include/iconv.h
-rw-r--r--  1 root  wheel  7981 Jul 29 15:32 /usr/include/iconv.h
% ls -la /usr/lib/libiconv.*
lrwxr-xr-x  1 root  wheel       16 Feb 26  2014 /usr/lib/libiconv.2.4.0.dylib@ -> libiconv.2.dylib
-r-xr-xr-x  1 root  wheel  2088992 Feb 26  2014 /usr/lib/libiconv.2.dylib*
lrwxr-xr-x  1 root  wheel       20 Feb 26  2014 /usr/lib/libiconv.dylib@ -> libiconv.2.4.0.dylib

если вы этого не сделаете, используйте sudo xcode-select --install и/или перейдите на сайт загрузки разработчиков Apple и вручную удалите и переустановите xcode и утилиты командной строки xcode, пока вы не установите эти файлы.

затем, если вы используете доморощенный, обновите свой доморощенный и unlink libiconv

brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew unlink libiconv
brew install libiconv

убедитесь, что у вас нет /usr/local/include/iconv.h:

% ls -la /usr/local/include/iconv.h
ls: /usr/local/include/iconv.h: No such file or directory

также убедитесь, что у вас нет /opt/local/include/iconv.h

% ls -la  /opt/local/include/iconv.h
ls: /opt/local/include/iconv.h: No such file or directory

если у вас есть этот файл, значит, у вас установлен iconv из macports, в идеале вам следует избавиться от него.

затем попробуйте:

gem install nokogiri
gem install nokogiri -- --with-iconv-dir=/usr
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
gem install nokogiri -- --with-iconv-dir=/opt/local

(остановитесь, когда найдете тот, который работает)

если все остальное терпит неудачу:

brew link --force libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local

что-то там должно работать.

@ lamont-granquist: +1:

@lamont-granquist Спасибо за ваши инструкции, я понял, что происходит, и начал работать над исправлением. Однако я по-прежнему не могу воспроизвести проблему ни на одном из своих компьютеров Mac, поэтому нет возможности подтвердить, работает ли исправление. Можете ли вы предоставить шаги для воспроизведения?

Ну, у меня был этот MBP в течение 3 лет, и после 2 обновлений ОС и по крайней мере 3 восстановлений TM мой /usr/include/iconv.h каким-то образом исчез. Таким образом, уничтожение этого файла может вызвать проблему. Решение состоит в том, чтобы правильно переустановить xcode и инструменты командной строки.

Кроме того, во время отладки люди предлагают сделать одну вещь: «сварить ссылку libiconv --force», чтобы она была установлена ​​​​в /usr/local/include/iconv.h, хотя есть огромные предупреждения, когда вы делаете «brew install libiconv». ' и 'варить ссылку libiconv', что это плохая идея. Проблема в том, что вы можете подобрать этот iconv.h при выборе системы /usr/lib/libiconv.dylib, и у него сразу возникнет конфликт между iconv_open() и libiconv_open(), и он не сможет скомпилироваться, потому что они разные версии.

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

Есть одна вещь, которую я не понимаю, почему система сборки nokogiri находит файлы /opt/local/include/iconv.h, установленные MacPorts. Я не использую MacPorts, поэтому не отлаживал это, но это вызывает проблемы, аналогичные тем, когда homebrew имеет iconv.h, связанный непосредственно с /usr/local/include. Если бы nokogiri можно было заставить прекратить это делать, это помогло бы людям, у которых установлен libiconv с MacPorts.

$ ls -la /usr/include/iconv.h

-rw-r--r-- 1 корневое колесо 7981 11 сентября 11:32 /usr/include/iconv.h

ls -la /usr/lib/libiconv.*
lrwxr-xr-x 1 корневое колесо 16 сен 11 01:03 /usr/lib/libiconv.2.4.0.dylib -> libiconv.2.dylib
-r-xr-xr-x 1 корневое колесо 2088992 11 сентября 01:02 /usr/lib/libiconv.2.dylib
lrwxr-xr-x 1 корневое колесо 20 сен 11 01:03 /usr/lib/libiconv.dylib -> libiconv.2.4.0.dylib

заваривать обновление
Обновлен Homebrew с 45e07c0e на e0dee399.
==> Обновленные формулы
android-ndk go lockrun pazpar2
apache-spark h2 mpd pktanon
Gearman juju-quickstart ossp-uuid

$ варить кран
Предупреждение: уже прослушивается!

$ варить удалить libiconv

Удаление /usr/local/Cellar/libiconv/1.13.1...

Ошибка: Отказано в доступе - /usr/local/Cellar/libiconv/1.13.1/bin/iconv

это дает мне ошибку разрешения на этом шаге

вам нужно исправить все ваши разрешения в /usr/local

каким бы ни был ваш логин, вам нужно исправить разрешения, чтобы root не владел домашними файлами в /usr/local:

мое имя пользователя «lamont», которое я могу найти с помощью команды id :

% id -nu
lamont

чтобы исправить пермс, я бы сделал:

% sudo chown -R lamont /usr/local

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

@lamont-granquist Разве пакет libiconv для Homebrew не устанавливает /usr/local/lib/libiconv.dylib при установке /usr/local/include/iconv.h? Чего я не понимаю, так это того, что если /usr/local/include/iconv.h подхватывается, то почему /usr/local/lib/libiconv.dylib не используется при компоновке. Обычно, когда -I/usr/local/include находится в CPPFLAGS, -L/usr/local/lib должен быть в LDFLAGS.

Что касается поломки среды, Nokogiri мог бы, по крайней мере, предложить (повторно) установить инструменты командной строки, когда /usr/include/iconv.h отсутствует в OS X.

варить отвязать libiconv
Ошибка: Нет такого бочонка: /usr/local/Cellar/libiconv

Я проигнорировал сообщение и выполнил следующие шаги. Нет успеха

@knu да, я посмотрел на это и думаю, что заблудился в извилистом лабиринте mkmf.rb.

@Ilovebarca rm -f /usr/local/include/iconv.h может помочь

@lamont-granquist
неа не помогло. Кстати, большое спасибо за попытку помочь мне.
Это безумие, я новичок в Mac, и я начинаю его ненавидеть :))

Я собираюсь внести некоторые изменения в процесс обнаружения iconv и добавить проверку отсутствия /usr/include/iconv.h в OS X в extconf.rb. Вот работа в процессе, и тестировщики приветствуются!

У меня были проблемы с github, обмен стеками, Google и т. д., и единственное, что сработало до сих пор, — это предложение @lamont-granquist . Настройка с помощью:

ОС X 10.9.5
рбенв

Я понимаю, что так много людей каким-то образом ломают свою среду OS X и даже не замечают этого. Одна проблема — отсутствие инструментов командной строки Xcode, а другая — Homebrew. Следующий релиз nokogiri постарается обнаружить такую ​​поломку перед входом в сборку и предупредить об этом пользователя.

Спасибо за вашу поддержку!

Спасибо @lamont-granquist, я боролся с этой проблемой уже неделю, и, наконец, ваше решение по переустановке обратно libiconv работает ... это облегчение !!!

@jomz работает на osx 10.10. спасибо :+1:

Из новой установки 10.10 только сегодня:

xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew install ruby
source /etc/profile
gem install nokogiri

Это установило рубиновую версию 2.1.5p273 и nokogiri 1.6.4.1. Предположительно, вы можете принудительно установить эти версии через homebrew и rubygems.

Из установки 10.10, обновленной с 10.9, с уже установленным homebrew и ruby:

brew install libxml2 libxslt
gem install nokogiri -- --use-system-libraries

Я не уверен, что нужно было переустановить libxml2 и/или libxslt, но мне это помогло.

Я полагаю, что мы зафиксировали это в обновленном руководстве по установке здесь:

http://www.nokogiri.org/tutorials/installing_nokogiri.html

Если нет, пожалуйста, дайте мне знать, и я снова открою.

Спасибо за ссылку на урок! У меня это сработало, когда я указал пути к файлам, как описано в разделе «Использование нестандартных установок libxml2 / libxslt». (Кажется, /usr/bin в OS X 10.6.8 считается нестандартным местом для системных библиотек.)

Чтобы найти пути к файлам, я использовал команды терминала which xml2-config и which xslt-config . Может быть, обновить учебник, чтобы предложить сделать это?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги