我正在尝试设置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
可以解决这个问题。