2016-09-15 9 views
2

У меня есть jruby 1.7.16 и rails 4.1.8 на моей машине ubuntu. У меня есть существующее приложение jruby, которое я хочу запустить с помощью сервера webbrick, но я не могу его запустить. всякий раз, когда я запускаю сервер webrick с помощью команд rails s, я становлюсь ниже ошибки.Jruby: Не удалось запустить сервер webrick в jruby on rails application

successful load of fcntl 
Bundler::GemRequireError: There was an error while trying to load the gem 'activerecord-jdbc-adapter'. 
Gem Load Error is: private method `require' called for Kernel:Module 
Backtrace for gem load error is: 
/home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:91:in `require' 
org/jruby/RubyArray.java:1613:in `each' 
/home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `require' 
org/jruby/RubyArray.java:1613:in `each' 
/home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `require' 
/home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler.rb:106:in `require' 
/home/administrator/Desktop/vitality_iq_project/analytics-core/config/application.rb:19:in `(root)' 
org/jruby/RubyKernel.java:1065:in `require' 
/home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:1:in `(root)' 
org/jruby/RubyKernel.java:1880:in `tap' 
/home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:79:in `server' 
/home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in `server' 
/home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40:in `run_command!' 
org/jruby/RubyKernel.java:1065:in `require' 
script/rails:6:in `(root)' 
Bundler Error Backtrace: 

     require at /home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:95 
      each at org/jruby/RubyArray.java:1613 
     require at /home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:86 
      each at org/jruby/RubyArray.java:1613 
     require at /home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler/runtime.rb:75 
     require at /home/administrator/.rvm/gems/[email protected]/gems/bundler-1.13.1/lib/bundler.rb:106 
     (root) at /home/administrator/Desktop/vitality_iq_project/analytics-core/config/application.rb:19 
     require at org/jruby/RubyKernel.java:1065 
     (root) at /home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:1 
      tap at org/jruby/RubyKernel.java:1880 
     server at /home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:79 
     server at /home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76 
    run_command! at /home/administrator/.rvm/gems/[email protected]/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:40 
     require at org/jruby/RubyKernel.java:1065 
     (root) at script/rails:6 

Ниже моя JRuby версия информация

jruby -v 
jruby 1.7.16 (1.9.3p392) 2014-09-25 575b395 on Java HotSpot(TM) 64-Bit Server VM 1.8.0_101-b13 +jit [linux-amd64] 

и мои рельсы версия 4.1.8. помогите мне запустить сервер в приложении Jruby с рельсами.

Спасибо,

ответ

1

есть проблема с Bundler 1.13.1, что является причиной этого - в основном они пересаживать метод require в JRuby 1.7 видимость ошибка, таким образом, делает Kernel::require личное.

3 вещи вы можете сделать:

  1. изменения Kernel.require видимость быть открытой (после загрузки Bundler)
  2. даунгрейда до 1.12 Bundler
  3. обновления до JRuby 1.7.26 (еще не выпущены)
+0

Kares .. вы спасли мою жизнь ..... 1000 благодаря вам .... люблю вас, дорогая .... :) –