1

Windows 7でJrubyでNokogiriを使用しようとすると、次のエラーが発生します

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のネイティブ拡張機能(libxml2)の非互換性に問題があるようですが、ここで回避策を見つけましたが、libexslt.soが見つからず、どこに配置すればよいかわかりません。jruby + windows + nokogiri + libexsltの使用に成功した経験はありますか?TIA

4

3 に答える 3

1

見つけた回避策はUNIXシステム用です。.soファイルは、WindowsのDLLに似た、ロード可能なモジュールです。ln -sまた、Windows(コマンド)ではソフトリンクできないため、状況に当てはまりません。

それでも、nokogiriがlibxml2、libxslt、およびlibexsltライブラリを見つけられないという同じ問題があります。私はJRubyやnokogiriを使用していないので、どのように機能するかはよくわかりませんが、私の推測では次のようになります。

ほとんどの場合、少なくともlibxml2libxsltのWindowsバイナリ(DLL)が必要です。他の関連するWindowsバイナリが必要になる場合があり、同じ場所で入手できます。DLLをパスのどこかにインストールするか、JRuby実行可能ファイルと同じディレクトリ(「D:/jruby-1.3.1/bin」のようになります)にインストールすることをお勧めします。(それが機能しない場合は、libxmljのようなJavaネイティブ形式のライブラリが機能する可能性がありますが、私はそれを疑っています。おそらくWindowsネイティブのライブラリが必要です。)

私はそれがあなたが仕事に行く途中になることを期待しています。

于 2009-10-02T13:17:19.127 に答える
1

パスにxml2/libxsltdllが必要なのは事実です。

ただし、jruby-1.4.0RC2に更新する必要があることがわかりました(FFIの改善のために)。

また、最新のnokogiri 1.3.3に更新し、次のコミットを手動で適用する必要があります。

http://github.com/tenderlove/nokogiri/commit/0555c69e70083a6368b563f18da2c8d5416515cc

または、githubトランクからnokogiriをインストールします。

これがお役に立てば幸いです。

便利な背景リンク:

于 2009-10-29T20:21:28.543 に答える
1

現在、Windowsでも実行できる純粋なJavaバージョンがあります。

gem install nokogiri --pre

ここで見つかりました

https://github.com/tenderlove/nokogiri/wiki/pure-java-nokogiri-for-jruby
于 2011-02-24T23:57:54.377 に答える