我在我的ubuntu机器上安装了jruby 1.7.16和rails 4.1.8。我有现有的jruby应用程序,我想使用webbrick服务器运行,但我无法运行它。每当我使用命令轨道启动webrick服务器时,我都会收到以下错误。
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/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:91:in `require'
org/jruby/RubyArray.java:1613:in `each'
/home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `require'
org/jruby/RubyArray.java:1613:in `each'
/home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `require'
/home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/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/jruby-1.7.16@analytics-core/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/jruby-1.7.16@analytics-core/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:79:in `server'
/home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76:in `server'
/home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/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/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:95
each at org/jruby/RubyArray.java:1613
require at /home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:86
each at org/jruby/RubyArray.java:1613
require at /home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/bundler-1.13.1/lib/bundler/runtime.rb:75
require at /home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/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/jruby-1.7.16@analytics-core/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/jruby-1.7.16@analytics-core/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:79
server at /home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/gems/railties-4.1.8/lib/rails/commands/commands_tasks.rb:76
run_command! at /home/administrator/.rvm/gems/jruby-1.7.16@analytics-core/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]
我的rails版本是4.1.8。请帮我在带有rails的Jruby应用程序中启动服务器。
谢谢,
答案 0 :(得分:1)
Bundler 1.13.1存在导致这种情况的问题 - 基本上他们移植了require
方法,而在JRuby 1.7中,可见性错误因此使Kernel::require
变为私有。
你可以做的3件事: