3

我尝试将 SQLite 数据库用于我的 jruby 项目。

当我尝试安装 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 不喜欢原生扩展。这是我迄今为止遇到的少数几个之一。正如 senthil 提到的,切换到 jdbc 适配器解决了这个问题。配置更改的示例:

宝石文件

# 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 回答