2

次のnokogiriスクリプトを実行する方法が必要です

#parser.rb
require 'nokogiri'

def parseit()
//...
end

parseit()jruby の main.rb の下で実行中に を呼び出します

#main.rb
require 'parser'

parseit()

もちろん、問題は、nokogiri-java経由'nokogiri'でインストールしていないため、jrubyが見つからないことですjruby -S gem install nokogiri

その理由は、Jruby で実行している nokogiri にバグが見つかったため、Jruby ではなく Ruby にのみ nokogiri をインストールしました。はparser.rbRuby だけで完全に動作します。

したがって、私の目的は、Jruby に nokogiri をインストールせずに parseit() を実行できるようにすることです!

4

4 に答える 4

7

Nokogiri は JRuby の下で問題なく動作します (1.4.0 には問題がありますが、gem の 1.4.1 バージョンは私にとって完璧に動作しています)。

jruby -S gem install nokogiri

プラットフォームの検出に問題がある場合は、強制的に実行できます。

jruby -S gem install nokogiri --platform=java

JRuby で問題なく使用できるはずです。スタックが正しくない可能性があります。

于 2009-12-14T18:01:25.330 に答える
1

Nokogiri は JRuby の FFI で動作するはずです。http://www.ruby-forum.com/topic/186274を参照してください。

于 2009-11-28T09:45:38.650 に答える
0

これは、Nokogiri の Java 実装が C バージョンとは異なる結果を生成しているように見える状況の例です。これにより、loofah gem が一連の JRuby テストに失敗しています。これは、Redmine 開発者が JRuby をサポートする能力を妨げています。

https://github.com/flavorjones/loofah/issues/88#issuecomment-122747924

于 2016-06-18T14:45:25.937 に答える
0

Nokogiri は FFI 経由で JRuby と連携する必要があるため、Nokogiri を JRuby にインストールしてもうまくいかない理由を理解することが最善の方法だと思います。

どのような問題が見られますか? JRubyのバージョンは?どのプラットフォーム?

于 2009-11-28T11:28:04.217 に答える