2

私が電話した場合:

gem install sqlite3-ruby --v 1.2.3

MRIに効く

しかし、私が電話した場合:

jruby -S gem install sqlite3-ruby --v 1.2.3

ネイティブ拡張 (Windows 用) をビルドしようとしていると表示され、失敗します。

JRuby と MRI の gem の扱いが異なるのはなぜですか?

4

2 に答える 2

6

C コードで FFI を使用する必要がある JRuby gem。FFI はかなり新しいものであり、C を使用するほとんどの ruby​​ gem はそれを使用していません (実際、私は使用しているものを知りません)。

http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html

とにかく、これは jruby の下の SQLite3 には必要ありません - これを使用してください:

jruby -S gem install jdbc-sqlite3

またはレールを実行している場合:

jruby -S gem install activerecord-jdbcsqlite3-adapter
于 2009-05-04T05:28:18.580 に答える
5

ネイティブ拡張機能を構築しているものはすべて C で何かをコンパイルしているため、JRuby は C で記述された部分を持つこれらのものと互換性がないと信じていますが、これの技術的な理由はわかりません。

于 2009-04-25T10:27:26.940 に答える