安装老版本 ruby 出现 require: connot load such file -- openssl (LoadError) 错误

rvm install 2.3.4 时出错
出错日志

出错原因

老版本 Ruby(比如要安装 `2.3.4`, 当前稳定版是 `2.7.1`),老版本依赖的是 openssl 1.0.2t,而最新版依赖的是 openssl 1.1。因为这个原因导致安装 rubygems 时提示找不到 openssl

解决办法

# 下载完整的 brew git 仓库数据 git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow # 生成一个新的 brew tap 开发仓库 brew tap-new $USER/old-openssl # 把老版本 openssl 1.0.2t 提取到 开发仓库 brew extract --version=1.0.2t openssl $USER/old-openssl # 从开发仓库中安装老版本 openssl brew install openssl@1.0.2t # 重新安装 ruby rvm reinstall 2.3.4 --with-openssl-dir=`brew --prefix openssl@1.0.2t`
2021-10-20
0