如何为 Ruby 安装 OpenSSL 包?

如何为 Ruby 安装 OpenSSL 包?

我找不到此软件的软件包。我根据找到的软件包进行构建和安装这里,但它仍然无法与 rvm 和 gem 正常工作(日志位于这里)。您建议如何找到一个可以使其正常工作的软件包?

stanley@ubuntu:~/Github/webdev_class/ruby$ sudo apt-cache search ^openssl
[sudo] password for stanley: 
openssl-blacklist - Blacklists for  OpenSSL RSA keys and tools
openssl-blacklist-extra - Non-default blacklists of OpenSSL RSA keys
libengine-pkcs11-openssl - OpenSSL engine for PKCS#11 modules
libxmlsec1-openssl - Openssl engine for the XML security library
openssl - Secure Socket Layer (SSL) binary and related cryptographic tools

这是尝试后的打印输出dpkg -l | grep openssl

stanley@ubuntu:~/Github/webdev_class/ruby$ dpkg -l | grep openssl
ii  openssl                                1.0.0e-2ubuntu4.5                       Secure Socket Layer (SSL) binary and related cryptographic tools
ii  python-openssl                         0.12-1ubuntu1                           Python wrapper around the OpenSSL library

答案1

使用sudo apt-get install openssl,或者使用软件中心来找到它。

通过软件中心安装

当我寻找软件包时,我通常使用apt-cache search whatever
对于 openssl,以下是我在系统上看到的内容:

$ apt-cache search ^openssl
openssl - Secure Socket Layer (SSL) binary and related cryptographic tools
openssl-blacklist - Blacklists for  OpenSSL RSA keys and tools
openssl-blacklist-extra - Non-default blacklists of OpenSSL RSA keys
libengine-pkcs11-openssl - OpenSSL engine for PKCS#11 modules
libxmlsec1-openssl - Openssl engine for the XML security library

对于 gem 依赖项,你通常会使用类似以下内容:

sudo apt-get install ruby-full build-essential ruby-rvm yorick rubygems

然而,显然ruby-rvm 已损坏,因此前维护者的建议是将其完全删除,然后通过提供的 URL 和 bash 脚本进行安装:


sudo apt-get --purge remove ruby-rvm
sudo rm -rf /usr/share/ruby-rvm /etc/rvmrc /etc/profile.d/rvm.sh

打开新终端并验证环境是否清除了旧的 rvm 设置(应该没有输出):

env | grep rvm

如果有输出,请尝试打开新终端,如果没有帮助 - 重新启动计算机

安装RVM:

curl -L get.rvm.io | bash -s stable

rvm requirements在安装 rubies 之前不要忘记阅读


答案2

OpenSSL 通常默认安装在 Ubuntu 上。你可以查看安装它的原因:

aptitiude why package

对于 openssl,这可以追溯到 cups:

$ LANG=C aptitude why openssl
i   ssl-cert Depends openssl (>= 0.9.8g-9)
$ LANG=C aptitude why ssl-cert
i   cups Depends ssl-cert (>= 1.0.11)

(我使用 LANG 环境变量来获取英文输出,而不是本地输出)。

我不确定,但也许 rvm / gem 确实需要 SSL 开发库,它们被打包到libssl-dev.

sudo apt-get install libssl-dev

这通常当你从源代码编译某些东西时就会出现这种情况,我记得 gem 在解决包依赖关系时就是这样做的。

相关内容