macOS 11.6.8下JRuby 9.2.11.0执行gem install报错求助
解决JRuby 9.2.11.0下gem安装时OpenSSL加载失败的问题
问题根源
JRuby 9.2.x系列的openssl扩展与OpenSSL 3.x版本存在兼容性冲突,OpenSSL 3.x的API变更导致JRuby无法正常加载对应的扩展模块,进而引发gem安装命令失败。
解决方案
1. 安装兼容的OpenSSL 1.1.1版本
通过Homebrew安装OpenSSL 1.1.x分支:
brew install openssl@1.1
2. 配置JRuby指向该OpenSSL版本
- 临时生效:在当前终端会话中执行:
export JRUBY_OPTS="-J-Djruby.openssl.dir=$(brew --prefix openssl@1.1)" - 永久生效:
- Zsh用户:编辑
~/.zshrc文件,添加上述export命令,执行source ~/.zshrc生效; - Bash用户:编辑
~/.bash_profile文件,添加上述export命令,执行source ~/.bash_profile生效。
- Zsh用户:编辑
3. 重新执行gem安装命令
现在可正常运行gem安装指令:
gem install bundler -v 2.1.4
替代方案(若允许升级JRuby)
如果项目无强制版本限制,建议升级到JRuby 9.3.0.0及以上版本,该系列已原生支持OpenSSL 3.x,无需额外配置即可正常使用gem命令。
内容的提问来源于stack exchange,提问作者Lekheshwar B
相关产品推荐
相关产品推荐

