VirtualBox Ubuntu20.04下用rbenv安装2.0以下版本Ruby遇OpenSSL报错
问题根源
Ruby 1.9.3-p327 属于已停止维护多年的旧版本,仅兼容 OpenSSL 1.0.x 系列版本,你当前遇到的报错是编译时 OpenSSL 扩展模块适配失败导致的。
解决步骤
- 第一步:安装基础编译依赖
先执行以下命令安装 Ruby 编译所需的基础依赖包:
sudo apt update sudo apt install -y build-essential libyaml-dev libreadline6-dev zlib1g-dev
- 第二步:安装适配的 OpenSSL 1.0 开发包
Ubuntu 20.04 官方源提供了 OpenSSL 1.0 开发包,执行命令安装即可:
sudo add-apt-repository universe sudo apt update sudo apt install -y libssl1.0-dev
- 第三步:指定 OpenSSL 路径执行安装
通过环境变量指定编译时使用的 OpenSSL 路径,执行安装命令:
RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/lib/ssl" rbenv install 1.9.3-p327
如果上述命令仍报错,可手动编译 OpenSSL 1.0.2 到 /opt/openssl-1.0.2 自定义路径,再将上述命令的 --with-openssl-dir 参数值替换为自定义路径即可。
- 第四步:验证安装结果
安装完成后执行以下命令确认生效:
rbenv global 1.9.3-p327 ruby -v # 验证OpenSSL模块正常加载 ruby -ropenssl -e "puts OpenSSL::OPENSSL_VERSION"
注意事项
- Ruby 1.9.3 系列早已停止维护,存在大量已知安全漏洞,仅可用于旧项目兼容测试,禁止用于生产环境部署。
内容的提问来源于stack exchange,提问作者Tad Vela
相关产品推荐
相关产品推荐

