ruby-on-rails nokogiri osx-mountain-lion

ruby on rails - ADVERTENCIA: Nokogiri fue construido contra LibXML versión 2.7.3, pero se ha cargado dinámicamente 2.7.8



ruby-on-rails osx-mountain-lion (6)

Después de realizar una instalación nueva de Mac OS X 10.8 Mountain Lion, y después de instalar Ruby 1.9.3 y Ruby on Rails 3.2.6, inicié la consola de Rails y recibí este mensaje de advertencia:

ADVERTENCIA: Nokogiri fue construido contra LibXML versión 2.7.3, pero se ha cargado dinámicamente 2.7.8

¿Cómo puedo arreglarlo?


Basado en la respuesta de @David, los siguientes pasos fueron suficientes para mí. No hay banderas de compilador y rutas personalizadas.

gem uninstall nokogiri brew update brew install libxml2 brew update libxml2 brew link libxml2 gem install nokogiri


He encontrado algunas correcciones para Lion, pero ninguna para Mountain Lion todavía. Sin embargo he intentado esto y funciona:

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/

Fuente (para Lion): https://gist.github.com/1349681


Poner la gem ''nokogiri'' sobre la gem ''pg'' en mi Gemfile solucionó esto para mí.

Mi Gemfile no tenía nokogiri, pero era una dependencia que estaba en Gemfile.lock, así que lo puse explícitamente en mi Gemfile.


Reinstalé Ruby, eso lo arreglé. Fue capaz de utilizar las bibliotecas integradas.


Tenga en cuenta que vincular como en la publicación de @Davids interferirá con sus herramientas de compilación y se vinculará con su sistema operativo (que probablemente no es lo que quiere si está utilizando brew), pero puede ejecutar cada comando de arriba excepto omitir el enlace ''brew ''las líneas y todo seguirá funcionando bien, por ejemplo:

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/


gem uninstall nokogiri bundle install

Aun mejor:

gem pristine nokogiri

Nota:

Esto sucederá repetidamente a medida que actualice su sistema y las bibliotecas cambien.