我在配置JRuby以正确使用OpenSSL时遇到了问题。谷歌已经透露,这是一个相当常见的现象,但我所读到的解决方案中没有一个对我有效。这是我的设置:
以下是错误:
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,require 'openssl'
也会返回true。根据此链接的说法,这种情况不应该发生?
试图用require 'rubygems'
和gem 'jruby-openssl'
明确地加载gem是没有帮助的。
发布于 2010-07-25 09:22:45
你确定你看的是正确的常数吗?
$ 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://stackoverflow.com/questions/3261745
复制相似问题