我正在使用 Ubuntu Server 10,Ruby 1.9.2
当我尝试要求“mongo”时
它给了我这个错误:
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>'
您需要两件事:OpenSSL 本身和 OpenSSL 的 ruby 绑定。第一部分正如 Yossi 所说:
sudo apt-get install libssl
第二个取决于你如何安装 ruby。我从你问题中的路径猜测你是从源代码编译红宝石的。在这种情况下,您首先需要确保有 openssl 标头:
sudo apt-get install libssl-dev
那么当你编译 ruby 时它应该会被自动选取。如果您不想重新编译 ruby,您应该能够通过以下方式构建 OpenSSL 绑定
- cd 到包含 ruby 源的文件夹
- cd 到 ext/openssl
ruby extconf.rb
make && sudo make install
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)