проблема для SQLite DB для Jruby - PullRequest
3 голосов
/ 25 августа 2011

Я пытался использовать базу данных 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 не поддерживает собственные расширения или mkmf' library. Check <a href="http://kenai.com/projects/jruby/pages/Home" rel="nofollow">http://kenai.com/projects/jruby/pages/Home</a> for alternatives. extconf.rb:10: undefined method dir_config 'для main: Object (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 ]

6 голосов
/ 26 августа 2011

Да, JRuby не любит собственные расширения. Это один из немногих, с которыми я столкнулся до сих пор. Как отмечает senthil, переключение на адаптер jdbc решает эту проблему. Пример изменения конфигурации:

Gemfile

# gem 'sqlite3'
gem 'activerecord-jdbcsqlite3-adapter', :require => 'jdbc-sqlite3', :require =>'arjdbc'
1 голос
/ 26 августа 2011

это очень просто, нам нужен jave-файл (sqlitejdbc-v056.jar) для поддержки jruby.

И я использую адаптер jdbc для моего проекта и использую gem (activerecord-sqlite3-adapter). Работает нормально. Извините за очень простой вопрос.

...