我刚刚升级到OS X Mountain Lion,当我使用rails和终端时遇到以下问题。
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8
我已经查看了其他类似问题的答案,但它们似乎无法阻止警告消息的出现。
我刚刚升级到OS X Mountain Lion,当我使用rails和终端时遇到以下问题。
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8
我已经查看了其他类似问题的答案,但它们似乎无法阻止警告消息的出现。
我在安装Ruby 1.9.2上遇到了类似的问题,安装nokogiri gem时也出现了一些问题。显然,苹果公司升级了gcc... 我通过建立符号链接来解决这个问题,然后gem就成功安装了:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
homebrew/dupes
仓库的apple-gcc42
,但是出现了一个错误提示我先安装开发工具(Xcode 4.4 + CLI 工具已经安装)。 - elithrar如果你有一个Gemfile,使用bundler的话,通常不建议通过传递标志来安装gems。即使你没有使用bundler,你仍然需要使用自定义编译的libxml,而且你可能无法记得...!一开始我试图通过一些修改来实现这个目标,甚至通过brew安装了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)
这对我起了作用。
gem uninstall nokogiri
。我已经在一个gemset中安装了nokogiri,而当我卸载ruby版本时,该gemset并没有被删除。这可能只是因为我使用了rvm remove
命令而不是rvm uninstall
,但无论是哪个命令,它都可能不会删除gemsets。 - Liron Yahdav在 OS X 10.8.2(Mountain Lion)上使用 Ruby 1.9.3-p194 和 Rails 3.2.11,启动 rails c 出现了警告:
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8
我尝试了卸载/安装nokogiri的技巧,但没有成功。解决方案要简单得多...只需编辑Gemfile文件,将'nokogiri'放在'pg'之前即可完全避免警告。
参考文献:
到目前为止,这里列出的所有解决方案都对我没用。
所以,我执行了 brew uninstall libxml2
,它是版本号为 2.8.0 的 libxml2,我猜我的 OS X 预装的是版本号为 2.7.8 的 libxml2。
然后我执行了 gem uninstall nokogiri
,再执行了 gem install nokogiri
现在警告已经消失了。但是 libxml2 的版本是 2.7.8 而不是最新版。所以,如果您能提供适用于最新版 libxml2 的一些解决方案,我将不胜感激。
WARNING: Nokogiri was built against LibXML version 2.9.1, but has dynamically loaded 2.7.8
。这个解决方案对我很有用。由于某种原因,在以前的ruby升级中重新安装ruby和gem就可以解决问题,但是这次这个方法行不通。 - Liron Yahdavbrew uninstall libxml2
,即使这个问题已经解决了,brew doctor
也会抱怨:Warning: Some installed formula are missing dependencies.
libxml2 是我通过 brew 安装的 libxslt 的依赖项。解决方法很简单,只需在重新安装 nokogiri 后重新安装 libxml2:brew install libxml2
。所以现在我的 libxml2 是通过 brew 安装的 2.9.1 版本,但我的系统正在使用 2.7.8 版本。您还可以通过运行 nokogiri -v
来查看这一点。我不确定为什么我安装了 libxslt,但我有一种感觉它与 RVM 有关。 - Liron Yahdav我刚遇到了这个问题。
我的问题出奇地容易解决。
gem uninstall nokogiri
选择所有版本
然后gem install nokogiri
,问题就消失了。
如果你使用home-brew,可以执行brew update
和brew doctor
。升级到Mountain Lion甚至删除了我的git等内容。我通过在Xcode中安装cc工具并使用brew doctor确保它的正常运行
来重新安装它。
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
bundle config build.nokogiri --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-include=/usr/include/libxslt/ --with-xslt-lib=/usr/lib
。 - antifuchs在解决这个问题的过程中,似乎没有什么方法可用。
随后,我进入 xcode 并安装了更新的命令行工具,接着运行了 gem uninstall nokogiri
和 gem install nokogiri
命令,然后它就正常工作了!
brew update
brew upgrade ruby-build
我刚刚重新安装了 Ruby(最新版本)
rbenv install 1.9.3-p194
然后我安装了与我的项目相关的所有宝石,包括nokogiri,没有遇到进一步的问题。
gem install bundler
bundle
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/
。 - Domness