Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 解释此错误:警告:Nokogiri是针对LibXML版本2.7.3构建的,但动态加载了2.9.0_Ruby On Rails_Ruby_Nokogiri_Spree_Libxml2 - Fatal编程技术网

Ruby on rails 解释此错误:警告:Nokogiri是针对LibXML版本2.7.3构建的,但动态加载了2.9.0

Ruby on rails 解释此错误:警告:Nokogiri是针对LibXML版本2.7.3构建的,但动态加载了2.9.0,ruby-on-rails,ruby,nokogiri,spree,libxml2,Ruby On Rails,Ruby,Nokogiri,Spree,Libxml2,我刚刚安装了Spree电子商务CMS,没有太多的头痛。我真的不知道这个信息的意思。有人能给我慢慢解释一下吗 Nokogiri看起来像某种渲染器?请向我解释一下,我以为rails服务器处理了所有资产的获取和呈现 LibXML是一个xmlc解析器。有人能解释一下什么是XML C解析器吗 “建立在”是什么意思 我对ruby非常熟悉,但我对部署还不熟悉。这方面的事情是完全陌生的!谢谢你帮助我 是一个XML解析库,它实际上是LibXML的一个巧妙包装器,LibXML是一个解析用C编写的XML的库。Noko

我刚刚安装了Spree电子商务CMS,没有太多的头痛。我真的不知道这个信息的意思。有人能给我慢慢解释一下吗

Nokogiri看起来像某种渲染器?请向我解释一下,我以为rails服务器处理了所有资产的获取和呈现

LibXML是一个xmlc解析器。有人能解释一下什么是XML C解析器吗

“建立在”是什么意思


我对ruby非常熟悉,但我对部署还不熟悉。这方面的事情是完全陌生的!谢谢你帮助我

是一个XML解析库,它实际上是LibXML的一个巧妙包装器,LibXML是一个解析用C编写的XML的库。Nokogiri包括C扩展,用于将其Ruby代码连接到LibXML。安装gem时,它将根据系统上可用的libxml头进行编译,但在运行时,它将根据系统上可用的libxml共享对象动态链接。当这些版本不匹配时,您会收到此警告—例如,如果在安装Nokogiri后在系统上升级libxml2

解决这个问题的方法是指定应该根据哪个版本的LibXML Nokogiri进行构建。您可以在
~/.bundle/config
中进行设置,如:

---
BUNDLE_BUILD__NOKOGIRI: --with-xml2-lib=/opt/libxml/lib--with-xml2-include=/opt/libxml/include/libxml2 --with-xslt-lib=/opt/libxml/lib --with-xslt-include=/opt/libxml/include

这基本上只是在构建Nokogiri的扩展时设置要传递的编译标志,它允许您指定要使用的LibXML安装位置。卸载Nokogiri,让Bundler在安装好配置(以及正确的libxml2版本)后重新安装它,一切都会按预期工作。

你看到了吗?@Lucas看到了,但每个都正常工作。这实际上是一个警告,而不是一个错误。我追求知识:)“我对ruby很熟悉,但我对部署还不熟悉。这方面的管理是完全陌生的!”嗯。。。对于我来说,如果不了解gems是如何工作的,有多少依赖于操作系统中的底层库,或者“构建依据”是什么意思,就很难理解如何使用Ruby这样的语言来建立。叹息。。。现在的孩子们……可能是和和的复制品。谢谢,今晚我会仔细研究你的妙语!尽管有这样的警告,我的ruby应用程序运行得完美无缺,这是否令人惊讶呢。libxml2变化不大,请注意,在JRuby下运行Nokogiri时,根本不使用LibXML。它过去通过FFI使用LibXML,但从1.5.0+开始,它使用纯java Xerces和NekoHTML。他们在使其完全兼容方面做得非常出色,尽管实现方式完全不同。