代码之家  ›  专栏  ›  技术社区  ›  dbyrne

JRuby OpenSSL错误

  •  5
  • dbyrne  · 技术社区  · 15 年前

    我在配置JRuby以正确使用OpenSSL时遇到问题。谷歌(google)透露,这是一个相当普遍的现象,但我读到的解决方案中没有一个对我有用。以下是我的设置:

    • 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
    

    require 'openssl' 即使我没有安装jruby openssl gem,也返回true。根据 this link ,那不应该发生吗?

    想把宝石装上 require 'rubygems' gem 'jruby-openssl' 没用。

    1 回复  |  直到 15 年前
        1
  •  3
  •   banzaiman    15 年前

    你确定你看到的是正确的常数吗?

    $ 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
    
    推荐文章