OpenSSL 已安装,但 Ruby 无法要求它

OpenSSL 已安装,但 Ruby 无法要求它

我正在尝试设置github-pages在我的 Ubuntu 笔记本电脑上,按照 Github 提供的指南,我必须安装捆绑器包;发出命令

~$ gem install bundler

返回这个错误。

ERROR: While executing gem ... (Gem::Exception) Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

然后我安装了 OpenSSL,启动了更新软件和其他内容的命令,然后再次尝试安装捆绑器,但错误一直显示。

我该如何解决这个问题?是否有任何特定命令可以重建 ruby​​,使其知道 openSSL 现已安装?

答案1

我已经找到了我自己的问题的答案,并且我认为将其作为答案发布而不是编辑问题会更清楚。

第一次尝试。让我们来看看非安全源链接的路径。

正如指出的那样这里,绕过 openSSL 检查的一个可能选择是删除安全https链接并添加不安全的链接:

gem source -r https://rubygems.org/
gem source -a http://rubygems.org/

这样,安装似乎进行得很顺利,但在安装过程中的某个地方,再次需要 openSSL(例如锯木宝石,如果我没记错的话)。

第二尝试。重建 Ruby(非常简单)。

当我问出这个问题的时候,我的大脑可能已经无法正常工作了。通过常规方式安装 openSSL 后:

sudo apt-get install openssl

我进入了我的 ruby​​ 目录并输入了以下几行:

pushd ext/openssl
ruby extconf.rb
make
make install
popd

这样,我所有的依赖关系问题和其他问题就都解决了(我猜)。然后,运行

./configure
make
make install

我已经重建了 Ruby,并且最终安装顺利。

答案2

之后重建 rubysudo apt-get install libssl-dev libreadline-dev libgdbm-dev​​ 可以解决这个问题。

解决方案在这里:http://www.larshaendler.com/2015/05/20/unable-to-require-openssl-install-openssl-and-rebuild-ruby-on-ubuntu-14-lts/

相关内容