Chr*_*ins 2 ruby windows installation rubygems jruby
如果我打电话:
gem install sqlite3-ruby --v 1.2.3
Run Code Online (Sandbox Code Playgroud)
它适用于MRI
但如果我打电话:
jruby -S gem install sqlite3-ruby --v 1.2.3
Run Code Online (Sandbox Code Playgroud)
它说它正在尝试构建一个原生扩展(对于Windows)而且失败了.
为什么JRuby和MRI在处理宝石的方式上有所不同?
JRuby gems,C代码必须使用FFI.FFI是一个非常新的东西,大多数使用C的红宝石都没有使用它(实际上我并不知道这样做).
http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html
无论如何,你不需要在jruby下使用SQLite3 - 使用这个:
jruby -S gem install jdbc-sqlite3
Run Code Online (Sandbox Code Playgroud)
或者如果运行rails:
jruby -S gem install activerecord-jdbcsqlite3-adapter
Run Code Online (Sandbox Code Playgroud)