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.