我想在我的操作系统中有两个不同的 OpenSSL 版本。马上,openssl version -v
回归
OpenSSL 1.1.1f 2020 年 3 月 31 日
我也想拥有 OpenSSL 1.0.2,因为我需要使用rbenv安装Ruby 2.2.10,而对于 2.4 以下的版本,它需要 OpenSSL 降级。
如何在 Ubuntu 16.04 上使用默认的 openssl (1.1.1) 安装 openssl 1.0.2?- 我在这个线程中关注了 monaye的回答,并设法安装了 OpenSSL:openssl version -v
OpenSSL 1.0.2l 2017 年 5 月 25 日
但是让操作系统使用 OpenSSL 可能会与我的 Ruby 3.0.0 应用程序冲突,因为我需要两个 ssl 版本都可用。这就是我将 OpenSSL 更新回其最新版本的原因
rbenv的文档为 MacOS 中的这种冲突提供了解决方案:
在 macOS 上使用 Homebrew
brew install rbenv/tap/[email protected] RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])" rbenv install 2.3.8
我在 Ubuntu 20.04 中需要类似的东西 - 有可能吗?
在 rbenv 论坛中,在OpenSSL 版本兼容性下面它说:
在构建 Ruby 2.3 或更早版本时,您必须确保 OpenSSL 1.0 在系统上的某个位置可用,并通过 --with-openssl-dir 配置标志指向它。目前,大多数带有 OpenSSL 1.1 的 Linux 发行版都有一个单独的 OpenSSL 1.0 包。
但
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix [email protected])" rbenv install 2.3.8
失败:Command 'brew' not found
这是我找到的解决方案,稍加调整就可以了。感谢 EliKazap 编辑 /
etc/apt/sources.list
并在文件末尾添加:deb http://security.ubuntu.com/ubuntu bionic-security main
然后
检查版本是否正确
./usr/local/ssl/bin/openssl version
接着