Jruby:无法在 rails 应用程序的 jruby 中启动 webrick 服务器
Jruby: Not able to start webrick server in jruby on rails application
我已经在我的 ubuntu 机器上安装了 jruby 1.7.16 和 rails 4.1.8。我有现有的 jruby 应用程序,我想 运行 使用 webbrick 服务器,但我无法 运行 它。每当我使用命令 rails 启动 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 应用程序中启动服务器
谢谢,
Bundler 1.13.1 有一个问题导致了这个 - 基本上他们移植了 require
方法,而在 JRuby 1.7 中,一个可见性错误因此使 Kernel::require
私有。
3 件事你可以做:
- 将 Kernel.require 可见性更改为 public(加载 Bundler 后)
- 降级到 Bundler 1.12
- 升级到 JRuby 1.7.26(尚未发布)
我已经在我的 ubuntu 机器上安装了 jruby 1.7.16 和 rails 4.1.8。我有现有的 jruby 应用程序,我想 运行 使用 webbrick 服务器,但我无法 运行 它。每当我使用命令 rails 启动 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 应用程序中启动服务器谢谢,
Bundler 1.13.1 有一个问题导致了这个 - 基本上他们移植了 require
方法,而在 JRuby 1.7 中,一个可见性错误因此使 Kernel::require
私有。
3 件事你可以做:
- 将 Kernel.require 可见性更改为 public(加载 Bundler 后)
- 降级到 Bundler 1.12
- 升级到 JRuby 1.7.26(尚未发布)