我目前正在尝试在 rackspace 云中的新 Ubuntu 服务器上安装 gitlab,这需要我安装 Ruby 2.0。
所以我通过 curl 下载了 ruby 并通过执行以下操作安装了它:
./configure
make
make install
然后,当尝试安装 gem 时,我收到一条错误消息,提示 cannot load such file -- openssl
。
显然我缺少打开 ssl。所以我安装了 openssl 和 libssl-dev,因为我听说如果你使用的是 Ubuntu,你也需要这个:
apt-get install openssl
apt-get install libssl-dev
然后我通过重复上述步骤重新安装了 ruby:
./configure
make
make install
但是,在所有这些之后,我仍然遇到相同的 openssl 错误:cannot load such file -- openssl
我假设我没有正确地重新安装 ruby。必须有一些我缺少的步骤来删除初始配置,但是没有多少谷歌搜索会产生对我有意义的答案。有谁知道我会怎么做?
编辑:我正在从以下来源下载 ruby:ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
最佳答案
我是在标准的 debian 7 上做的,在/opt/openssl 下安装了一个新的 openssl,就像这样
$cd ~/ruby-src
$./configure --prefix=/opt/ruby --without-openssl
$make
$sudo make install
然后使用 ext/openssl/
$export PATH=/opt/ruby/bin:/opt/openssl/bin:$PATH
$which ruby
/opt/ruby/bin/ruby
$which openssl
/opt/openssl/bin/openssl
$cd ~/ruby-src/ext/openssl/
$ruby extconf.rb --with-openssl-dir=/opt/openssl
$make
$sudo make install
我不得不在 ossl_ssl.c 中注释掉带有 OP_MSIE_SSLV2_RSA_PADDING
的行,因为该常量在当前的 openssl 发行版中不存在,但随后一切都编译干净了。
关于ruby - 使用 openssl 重新编译/重新安装 Ruby 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594991/