Почему гем sqlite 1.2.3 устанавливается правильно для MRI, но не для JRuby? - PullRequest
2 голосов
/ 25 апреля 2009

Если я позвоню:

gem install sqlite3-ruby --v 1.2.3

работает на МРТ

но если я позвоню:

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

он говорит, что пытается создать собственное расширение (для Windows) и терпит неудачу.

Почему JRuby и МРТ отличаются в том, как они обрабатывают драгоценные камни?

Ответы [ 2 ]

6 голосов
/ 04 мая 2009

JRuby показывает, что код C должен использовать FFI. FFI - довольно новая вещь, и большинство рубиновых самоцветов, использующих C, не используют ее (на самом деле я не знаю ни одного, что делает).

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

В любом случае, вам не нужно это для SQLite3 под jruby - используйте это:

jruby -S gem install jdbc-sqlite3

или если ходовые рельсы:

jruby -S gem install activerecord-jdbcsqlite3-adapter
5 голосов
/ 25 апреля 2009

Потому что все, что строит собственные расширения, компилирует что-то в C, и я считаю, что JRuby не совместим с этими вещами, в которых есть части, написанные на C, хотя у меня нет технических причин для этого.

...