在Linux上,如何解决警告:Nokogiri是针对LibXML版本2.8.0构建的,但动态加载了2.9.0?

时间:2013-07-01 03:09:04

标签: ruby-on-rails ruby linux nokogiri

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

1 个答案:

答案 0 :(得分:23)

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

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

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

如果您遇到问题或者只是想安全起见,重建Nokogiri将解决问题 - 它将根据当前安装的LibXML版本构建。