2011-12-27 20 views
8

Tôi đang sử dụng Ubuntu Server 10, Ruby 1.9.2Tại sao yêu cầu Mongo mang lại cho tôi LoadError: không có tập tin để tải - openssl

Khi tôi cố gắng require 'Mongo'

nó mang lại cho tôi điều này lỗi:

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>' 

Trả lời

11

Bạn cần hai thứ: OpenSSL chính nó và các ràng buộc ruby ​​cho OpenSSL. Phần đầu tiên là Yossi đã nói:

sudo apt-get install libssl 

Phụ kiện thứ hai phụ thuộc vào cách bạn cài đặt ruby. Tôi đoán từ các đường dẫn trong câu hỏi của bạn rằng bạn đã biên dịch ruby ​​từ nguồn. Trong trường hợp đó, trước tiên bạn cần phải đảm bảo rằng bạn có tiêu đề mở rộng sau đó:

sudo apt-get install libssl-dev 

khi đó bạn sẽ tự động được chọn khi bạn biên dịch ruby. Nếu bạn không muốn biên dịch lại ruby, các bạn sẽ có thể để xây dựng các ràng buộc OpenSSL bởi

  • cd đến thư mục chứa các nguồn ruby ​​
  • cd để ext/openssl
  • ruby extconf.rb
  • make && sudo make install
+0

gói openssl-dev không thể tìm thấy, libcurl4-openssl-dev có hoạt động không? – mko

+0

Ồ, rõ ràng là libssl và libssl-dev trên ububtu –

+0

Cảm ơn rất nhiều! Nó hoạt động! – mko

Các vấn đề liên quan