SQLite db for jruby的问题

时间:2011-08-25 12:14:39

标签: rubygems jrubyonrails sqlite3-ruby

我尝试将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的mkmf' library. Check http://kenai.com/projects/jruby/pages/Home for alternatives. extconf.rb:10: undefined method dir_config'(NoMethodError)

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

有什么建议吗?提前致谢

2 个答案:

答案 0 :(得分:6)

是的,JRuby不喜欢原生扩展。这是我到目前为止遇到的一些问题之一。正如senthil提到的,切换到jdbc适配器解决了这个问题。配置更改的示例:

<强>的Gemfile

# gem 'sqlite3'
gem 'activerecord-jdbcsqlite3-adapter', :require => 'jdbc-sqlite3', :require =>'arjdbc'

答案 1 :(得分:1)

非常简单,我们需要一个jave(sqlitejdbc-v056.jar)lib文件来支持jruby。

我正在为我的项目使用jdbc适配器并使用gem(activerecord-sqlite3-adapter)。 它的工作正常。抱歉非常简单的问题。