Горный Лев-LibXML & Nokogiri


Я только что обновился до OS X Mountain Lion и получаю следующее при работе с rails и терминалом.

WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

Я просмотрел другие ответы на подобный вопрос, но они, похоже, не останавливают появление предупреждающего сообщения.

9 26

9 ответов:

Поместив gem 'nokogiri' выше gem 'pg' в мой Gemfile исправил это для меня.

В моем Гемфайле не было нокогири, но это была зависимость, которая была в Гемфайле.замок, поэтому я поместил его в свой Gemfile явно.

У меня были похожие проблемы при установке nokogiri gem на ruby 1.9.2 Очевидно, Apple обновила gcc... Я исправил это с помощью символьной ссылки, а затем драгоценный камень был установлен просто отлично:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

Передача флагов для установки gems обычно является плохой идеей, если у вас есть Gemfile и вы используете bundler. Даже если это не так, вы будете находиться на специально скомпилированном libxml и, вероятно, не вспомните...! Я начал с взлома, пытаясь заставить это работать и даже заварить установку libxml2.

Оказывается, если вы переустановите (и, следовательно, перекомпилируете) версию ruby, с которой вы работаете (надеюсь, с rvm), она будет работать.

Итак, для пользователей RVM:

    rvm list (gets your rubies - choose the one being used)
    rvm uninstall RUBY_VERSION
    rvm install SAME_RUBY_VERSION
    bundle (or gem install nokogiri)

То мне.

Используя Ruby 1.9.3-p194 и Rails 3.2.11 на OS X 10.8.2 (Mountain Lion), запуск rails c дал предупреждение:

WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

Трюк удаления/установки nokogiri не сработал для меня. Решение было гораздо проще... Предупреждение было полностью устранено путем редактирования Gemifile, чтобы поместить "nokogiri" выше "pg".

Ссылки:

Все решения, перечисленные здесь до сих пор, не сработали для меня.

Итак, я сделал brew uninstall libxml2 это была версия libxml2 2.8.0 и я думаю, что моя os x имеет предустановленную версию libxml2 2.7.8

Затем я сделал gem uninstall nokogiri , а затем gem install nokogiri

Предупреждение ушло. Но это libxml2 версии 2.7.8 и не последняя. Поэтому я буду признателен, если вы предложите какое-то решение, которое работает с последней версией libxml2.

У меня только что была эта проблема.

Моя проблема была решена на удивление легко.

gem uninstall nokogiri

Выделено all versions

Затем gem install nokogiri и он исчез.

Если вы используете домашнее пиво, вы можете brew update и brew doctor. Обновление до mountain lion даже удалило мой git и прочее. Я установил его обратно, установив CC tools в Xcode и используя brew doctor, чтобы убедиться, что он raring to go перед вышеописанным.

Поэтому я использовал следующую команду:

bundle config build.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/

А затем делаем:

gem uninstall nokogiri
gem install nokogiri

А потом побежал

bundle install

Казалось, у меня ничего не получалось, чтобы исправить это.

Затем я вошел в xcode и установил обновленные инструменты командной строки, затем gem uninstall nokogiri и gem install nokogiri, и это сработало!

После обновления ruby-build

brew update
brew upgrade ruby-build

Я только что переустановил ruby (последняя версия)

rbenv install 1.9.3-p194

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

gem install bundler
bundle