ruby - 使用 openssl 重新编译/重新安装 Ruby 2.0

标签 ruby linux ubuntu openssl gitlab

我目前正在尝试在 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/

相关文章:

ruby-on-rails - Rails/Ruby 的痛苦 - 如何检查 gem 是否基于 UNIX/类 UNIX?

django - 无法运行 django-admin

node.js - 带 Snap 的 Nodejs

ruby - 如何处理 ruby​​ Net/HTTP 中的连接超时错误?

ruby - 标记(lex?parse?)正则表达式

ruby - PG gem 以随机顺序返回列

Linux - 在 CLI 中更改主机名

linux - 如何删除 uid 为 0 的用户?

linux - Linux cpu 使用的 psutil 和 sar 有什么区别?

ubuntu - 在 Ubuntu 12 上安装 bookshop princexml 时缺少 libjpeg 库