2012-06-20 29 views
16

Tôi cần sử dụng openssl trong ruby. Tôi nên cài đặt như thế nào? Tôi đã cài đặt ruby ​​thông qua rbenv, và đang sử dụng ubuntu 12.04.Cài đặt openssl trong ruby ​​/ rbenv

[email protected]:~$ ruby -v 
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] 

[email protected]:~$ irb 
irb(main):001:0> require 'openssl' 
LoadError: no such file to load -- openssl 
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from (irb):1 
    from /home/kprakasam/.rbenv/versions/1.9.2-p180/bin/irb:12:in `<main>' 
+0

Tôi nghĩ rằng bạn cần phải biên dịch ruby ​​với openssl –

+3

sudo apt-get -y xây dựng cài đặt chuyên biệt zlib1g-dev libreadline-dev libssl-dev libcurl4-openssl-dev' hơn cài đặt ruby ​​một lần nữa với rbenv, và bạn sẽ có hỗ trợ openssl – Nebojsa

Trả lời

21

openssl cần được cài đặt trên máy cục bộ của bạn.

Sau đó, bạn cần biên dịch Ruby bằng hỗ trợ openssl, được thực hiện thông qua công tắc dòng lệnh --with-openssl-dir.

Có thể this sẽ giúp bạn.

7

Đầu tiên, cài đặt openssl:

sudo apt-get -y install build-essential zlib1g-dev libreadline-dev libssl-dev libcurl4-openssl-dev 

Sau đó, biên dịch lại Ruby.

Lưu ý: Chỉ sửa chữa các bình luận từ @Nebojsa trên

+0

Điều này làm việc cho tôi khi cài đặt ruby-2.0.0-p451 từ nguồn lên Ubuntu-Saucy 13.10. –

7

Đối với Mac OSX đây là những gì đã cứu tôi:

RUBY_CONFIGURE_OPTS=--with-openssl-dir=<openssl install dir> rbenv install 

Từ Ruby build wiki

Nhưng .. làm thế nào để tìm ra openssl cài đặt dir?:

$ brew list openssl 
/usr/local/Cellar/openssl/1.0.2d_1/bin/c_rehash 
/usr/local/Cellar/openssl/1.0.2d_1/bin/openssl 
... 

Sau đó openssl cài đặt dir là:

/usr/local/Cellar/openssl/1.0.2d_1/ 

Và lệnh cài đặt ruby ​​kết thúc như thế này:

RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/Cellar/openssl/1.0.2d_1/ rbenv install 
Các vấn đề liên quan