【问题标题】:on Linux, how can I resolve WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.0 ?在 Linux 上,如何解决 WARNING: Nokogiri 是针对 LibXML 版本 2.8.0 构建的,但已动态加载 2.9.0 ?
【发布时间】:2013-06-28 03:06:47
【问题描述】:

Mac 用户,请参阅: Mac user and getting WARNING: Nokogiri was built against LibXML version 2.7.8, but has dynamically loaded 2.7.3

我正在使用 linux (openSUSE 12.3) 并运行 nokogiri -v 显示:

WARNING: Nokogiri was built against LibXML version 2.8.0, but  dynamically loaded 2.9.0
# Nokogiri (1.6.0)
---
warnings:
- Nokogiri was built against LibXML version 2.8.0, but  dynamically loaded 2.9.0
nokogiri: 1.6.0
ruby:
  version: 2.0.0
  platform: x86_64-linux
  description: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
  engine: ruby
libxml:
  binding: extension
  source: packaged
  libxml2_path: /home/william/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/ports/x86_64-suse-linux/libxml2/2.8.0
  libxslt_path: /home/william/.rvm/gems/ruby-2.0.0-p247/gems/nokogiri-1.6.0/ports/x86_64-suse-linux/libxslt/1.1.26
  compiled: 2.8.0
  loaded: 2.9.0

【问题讨论】:

  • 你应该澄清要问一个具体的问题。现在,由读者来推断您到底在问什么。
  • @ChrisHeald 已更新,我想删除此警告信息,谢谢提醒

标签: ruby-on-rails ruby linux nokogiri


【解决方案1】:

这里隐含的问题似乎是“为什么我会收到此警告,我该怎么办?”

您收到警告是因为 Nokogiri 是针对 LibXML 版本 2.8.0 构建的(它主要是一个原生扩展 gem,需要编译),并且您的系统已经将 LibXML 升级到版本 2.9.0。

这是一个警告,而不是错误——在许多情况下,Nokogiri 将继续使用更新版本的 LibXML,而不是针对它构建的版本。

如果您遇到问题或只是为了安全起见,重建 Nokogiri 将解决问题 - 它将针对当前安装的 LibXML 版本进行构建。

【讨论】:

  • @dashan 你能告诉我如何用正确的 libxml 版本重建 Nokogiri 吗?
  • @WilliamHerry 有很多变体,但最常见的可能是gem install nokogiri。但是,您应该重复安装 Nokogiri 在第一个位置。它应该根据“正确”(当前)版本自动构建。
  • 我已经多次 gem uninstall nokogiri 和 gem install nokogiri 了,都不行,不知道为什么。从 nokogiri -v 的输出来看,似乎 nokogiri 在 .rvm 中构建使用 libxml,所以,有没有办法让它使用我的系统版本的 libxml 构建,或者如何将 libxml 版本升级到 rvm 管理的 2.9
  • gem install nokogiri -- --with-xml2-include=/usr/include/libxml2/libxml --with-xml2-lib=/usr/lib64/ --with-sxlt-include=/usr/include/libxslt --with-xslt-lib=/usr/lib64/解决
  • 我很想将此标记为重复,因为这个问题已经被问过并回答了六次,每次都有略微不同的操作系统和版本变体。但是这个答案是唯一解释 为什么 它发生的答案,并且可以帮助其他人找出解决方案(就像 OP 一样)。现在我希望我们可以将其他标记为重复或以其他方式组合它们。无论如何,+1 给你。
猜你喜欢
  • 2014-01-07
  • 2015-06-30
  • 2013-07-21
  • 2013-12-08
  • 2013-04-25
  • 2011-06-17
  • 2012-07-12
  • 1970-01-01
  • 2011-10-11
相关资源
最近更新 更多