gpt4 book ai didi

windows - 如何在 Windows 上使用 Jruby 的 nokogiri?

转载 作者:可可西里 更新时间:2023-11-01 11:40:58 24 4
gpt4 key购买 nike

尝试在 Windows 7 上将 Nokogiri 与 Jruby 结合使用时出现以下错误

D:\code\h4>jruby -e "require 'rubygems'; require 'nokogiri'"
D:/jruby-1.3.1/bin/../lib/ruby/1.8/ffi/library.rb:18:in `ffi_lib': Could not ope
n any of [xml2, xslt, exslt] (LoadError)
from D:/jruby-1.3.1/lib/ruby/gems/1.8/gems/nokogiri-1.3.3-java/lib/nokog
iri/ffi/libxml.rb:5
from D:/jruby-1.3.1/lib/ruby/gems/1.8/gems/nokogiri-1.3.3-java/lib/nokog
iri/ffi/libxml.rb:31:in `require'
from D:/jruby-1.3.1/bin/../lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:31:in `require'
from D:/jruby-1.3.1/lib/ruby/gems/1.8/gems/nokogiri-1.3.3-java/lib/nokog
iri.rb:10
from D:/jruby-1.3.1/lib/ruby/gems/1.8/gems/nokogiri-1.3.3-java/lib/nokog
iri.rb:36:in `require'
from D:/jruby-1.3.1/bin/../lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:36:in `require'
from -e:1

似乎是 Jruby 的 native 扩展 (libxml2) 不兼容的问题,但是我发现了 workaround here ,但找不到 libexslt.so 并且不确定将它放在哪里。有没有人有使用jruby+windows+nokogiri+libexslt的成功经验?时间差

最佳答案

您找到的变通方法适用于 UNIX 系统; .so 文件是一个可加载模块,类似于 Windows 中的 DLL。而且您不能在 Windows 中进行软链接(soft link)(ln -s 命令),因此这不适用于您的情况。

尽管如此,您确实遇到了同样的问题,即 nokogiri 无法找到您的 libxml2、libxslt 和 libexslt 库。由于我不使用 JRuby 或 nokogiri,我真的不确定它是如何工作的,但我最好的猜测是:

很可能,您需要 libxml2 的 Windows 二进制文件 (DLL)和 libxslt最低限度;可能需要其他相关的 Windows 二进制文件,可在 same place 获得。 .您需要将 DLL 安装在您的路径中的某处,或者更好的是与您的 JRuby 可执行文件安装在同一目录中(看起来像“D:/jruby-1.3.1/bin”)。 (如果这不起作用,也许 libxmlj 等 Java 原生形式的库可能会起作用,但我对此表示怀疑——您可能需要 Windows 原生的库。)

我希望这会让您踏上工作之路。

关于windows - 如何在 Windows 上使用 Jruby 的 nokogiri?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com