JRuby OpenSSL错误[英] JRuby OpenSSL Error

本文是小编为大家收集整理的关于JRuby OpenSSL错误的处理方法,想解了JRuby OpenSSL错误的问题怎么解决?JRuby OpenSSL错误问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在配置 JRuby 以与 OpenSSL 一起正常工作时遇到问题.谷歌搜索显示这是一种很常见的情况,但我读过的解决方案都没有为我工作.这是我的设置:

  • Ubuntu 9.10
  • jruby 1.5.1
  • jruby-openssl (0.7)

这是错误:

irb(main):001:0> require 'jruby/openssl/gem_only'
=> true
irb(main):002:0> require 'openssl'
=> true
irb(main):003:0> OpenSSL::Digest::OPENSSL_VERSION_NUMBER
NameError: uninitialized constant OpenSSL::Digest::OPENSSL_VERSION_NUMBER

有趣的是,即使我没有安装 jruby-openssl gem,require 'openssl' 也会返回 true.根据this link,这不应该发生吗?

尝试使用 require 'rubygems' 和 gem 'jruby-openssl' 显式加载 gem 没有帮助.

推荐答案

你确定你看的是正确的常量吗?

$ ruby -v -r openssl -e 'p OpenSSL::Digest::OPENSSL_VERSION_NUMBER'
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
-e:1: uninitialized constant OpenSSL::Digest::OPENSSL_VERSION_NUMBER (NameError)

$ ruby -v -r openssl -e 'p OpenSSL::OPENSSL_VERSION_NUMBER'
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
9470159

$ jruby -v -r openssl -e 'p OpenSSL::OPENSSL_VERSION_NUMBER'
jruby 1.5.1 (ruby 1.8.7 patchlevel 249) (2010-06-06 f3a3480) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_20) [x86_64-java]
9469999

本文地址:https://www.itbaoku.cn/post/786554.html