2011-12-27 14 views
8

私はUbuntuのサーバ10を使用していますが、Rubyの1.9.2は私とLoadErrorを与えない:ロードするそのようなファイル - opensslの

を私は

「をモンゴ」を必要としようとすると、それはこのことを私に与えますエラー:

irb(main):001:0> require 'mongo' 
LoadError: no such file to load -- openssl 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mongo-1.5.2/lib/mongo/util/ssl_socket.rb:1:in `<top (required)>' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mongo-1.5.2/lib/mongo.rb:63:in `<top (required)>' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require' 
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from (irb):1 
    from /usr/local/bin/irb:12:in `<main>' 

答えて

11

OpenSSL自体とOpenSSLのルビーバインディングの2つが必要です。最初の部分はYossiが言った通りです:

sudo apt-get install libssl 

2番目はルビーのインストール方法によって異なります。私はあなたの質問のパスから、あなたがソースからルビーをコンパイルしたと推測しています。その場合には、まずあなたがopensslのヘッダを持っていることを確認する必要があります:あなたはルビーをコンパイルするとき

sudo apt-get install libssl-dev 

は、それが自動的に選択されなければなりません。あなたはルビーを再コンパイルしたくない場合は、内線/ opensslのに

  • ruby extconf.rb
  • make && sudo make installをRubyのソース
  • CDを含むフォルダに

    • CDでOpenSSLのバインディングを構築することができるはずです
  • +0

    openssl-devパッケージが見つかりません。libcurl4-openssl-devは動作しますか? – mko

    +0

    ああ、明らかにlibsslとububtuのlibssl-devです –

    +0

    ありがとう!できます! – mko

    関連する問題