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

别等时光非礼了梦想. 提交于 2019-12-17 15:55:17

问题


After making a fresh install of Mac OS X 10.8 Mountain Lion, and after installing Ruby 1.9.3 and Ruby on Rails 3.2.6, I started the Rails console and I got this warning message:

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

How can I fix it?


回答1:


I reinstalled Ruby, that fixed it. Was able to use the built-in libraries.




回答2:


I have found some fixes for Lion, but none for Mountain Lion yet. Nonetheless I have tried this and it works:

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/

Source (for Lion): https://gist.github.com/1349681




回答3:


gem uninstall nokogiri
bundle install

Even Better:

gem pristine nokogiri

Note:

This will happen repeatedly as you upgrade your system and libraries change.




回答4:


Note that linking as in @Davids post will interfere with your build tools and link into your OS (which is most likely not what you want if you're using brew), but you can just execute each command above except omit the 'brew link' lines and everything will still build just fine, eg:

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:


Putting gem 'nokogiri' above gem 'pg' in my Gemfile fixed this for me.

My Gemfile didn't have nokogiri in it, but it was a dependency that was in Gemfile.lock, so I put it in my Gemfile explicitly.




回答6:


Based on the answer from @David the following steps were enough for me. No compiler flags and custom paths.

gem uninstall nokogiri

brew update
brew install libxml2
brew update libxml2
brew link libxml2

gem install nokogiri


来源:https://stackoverflow.com/questions/11452380/warning-nokogiri-was-built-against-libxml-version-2-7-3-but-has-dynamically-lo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!