2011-12-27 14 views
8

我使用Ubuntu的服務器10,紅寶石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的ruby綁定。第一部分是因爲Yossi說:

sudo apt-get install libssl 

第二個取決於你如何安裝ruby。我從你的問題的路徑猜測你是從源代碼編譯ruby的。在這種情況下,你首先需要確保你有那麼OpenSSL的頭:

sudo apt-get install libssl-dev 

那麼它應該會自動在編譯紅寶石回升。如果你不想重新編譯紅寶石時,你應該能夠通過

  • CD打造的OpenSSL綁定到包含紅寶石源
  • cd到EXT/OpenSSL的文件夾
  • ruby extconf.rb
  • make && sudo make install
+0

openssl-dev package can not be found,libcurl4-openssl-dev work? – mko

+0

哦,顯然它是libssl和libssl-dev在ububtu –

+0

非常感謝!有用! – mko

相關問題