3

jruby プロジェクトに SQLite データベースを使用しようとしました。

sqlite3 gem をインストールしようとすると、次のエラーが表示されます

C:\tibbr\main\community_manager>gem install sqlite3-ruby

ネイティブ拡張機能の構築。これには時間がかかる場合があります... エラー: sqlite3-ruby のインストール中にエラーが発生しました: エラー: gem ネイティブ拡張機能をビルドできませんでした。

C:/tibbr/main/tools/jruby/bin/jruby.exe extconf.rb 警告: JRuby は、main:Object のネイティブ拡張または dir_config をサポートしていません(NoMethodError)mkmf' library. Check http://kenai.com/projects/jruby/pages/Home for alternatives. extconf.rb:10: undefined method

Gem ファイルは、検査のために C:/tibbr/main/tools/jruby/lib/ruby/gems/1.8/gems/sqlite3-1.3.4 にインストールされたままになります。結果は C:/tibbr/main/tools/jruby/lib/ruby/gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out に記録されます

助言がありますか?前もって感謝します

4

2 に答える 2

6

はい、JRuby はネイティブ拡張を好みません。これは、これまでに遭遇した数少ないものの 1 つです。Senthil が言及しているように、jdbc アダプターに切り替えると、この問題が解決されます。構成変更の例:

Gemfile

# gem 'sqlite3'
gem 'activerecord-jdbcsqlite3-adapter', :require => 'jdbc-sqlite3', :require =>'arjdbc'
于 2011-08-26T16:10:55.800 に答える
1

jruby でサポートするには、jave (sqlitejdbc-v056.jar) lib ファイルが必要です。

そして、私は自分のプロジェクトに jdbc アダプターを使用し、gem (activerecord-sqlite3-adapter) を使用しています。その正常に動作します。非常に単純な質問で申し訳ありません。

于 2011-08-26T06:19:23.227 に答える