ПРЕДУПРЕЖДЕНИЕ: Nokogiri был построен против LibXML версии 2.7.3, но динамически загружен 2.7.8
После создания новой установки Mac OS X 10.8 Mountain Lion и после установки Ruby 1.9.3 и Ruby on Rails 3.2.6 я запустил консоль Rails, и я получил это предупреждающее сообщение:
ПРЕДУПРЕЖДЕНИЕ: Nokogiri был построен против LibXML версии 2.7.3, но имеет динамически загружается 2.7.8
Как я могу это исправить?
Ответы
Ответ 1
Я нашел некоторые исправления для Lion, но пока нет ни одного для Mountain Lion. Тем не менее я пробовал это, и он работает:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew link libxml2
brew install libxslt
brew link libxslt
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/
Источник (для Льва): https://gist.github.com/1349681
Ответ 2
Я переустановил Ruby, который исправил его. Возможность использования встроенных библиотек.
Ответ 3
gem uninstall nokogiri
bundle install
Даже лучше:
gem pristine nokogiri
Примечание:
Это произойдет неоднократно при изменении вашей системы и изменений библиотек.
Ответ 4
Обратите внимание, что ссылка, как и на столбец @Davids, будет мешать вашим инструментам сборки и ссылки на вашу ОС (что, скорее всего, не то, что вы хотите, если используете brew), но вы можете просто выполнить каждую команду выше, кроме опустите строки 'brew link, и все будет построено просто отлично, например:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew install libxslt
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/
Ответ 5
Ввод gem 'nokogiri'
выше gem 'pg'
в моем Gemfile исправил это для меня.
В моем Gemfile не было nokogiri, но это была зависимость, которая была в Gemfile.lock, поэтому я поместил ее в свой Gemfile явно.
Ответ 6
Основываясь на ответе от @David, для меня было достаточно следующих шагов. Нет флагов компилятора и настраиваемых путей.
gem uninstall nokogiri
brew update
brew install libxml2
brew update libxml2
brew link libxml2
gem install nokogiri