Ruby运行报错无法加载openssl,RVM重装依赖失败求助
问题解决求助
问题场景
执行SPARQL查询命令:
./s-query --service http://localhost:3030/graph_v1_0/query 'SELECT * { graph ?g {?s ?p ?o . }} limit 10'
出现报错:
"/usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- openssl (LoadError) from /usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from ./s-query:24:in `<main>'
尝试修复后的报错
尝试用RVM重新安装Ruby并指定OpenSSL路径:
rvm reinstall 2.3.1p112 --with-openssl-dir=`brew --prefix openssl`
但出现依赖安装失败:
Installing required packages: gawk, bison, libffi-dev, libgdbm-dev, libncurses5-dev, libsqlite3-dev, libyaml-dev, sqlite3, zlib1g-dev, libgmp-dev, libssl1.0-dev.... Error running 'requirements_debian_libs_install gawk bison libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libyaml-dev sqlite3 zlib1g-dev libgmp-dev libssl1.0-dev', please read /home/zhangfanlong/.rvm/log/1679925322_ruby-2.3.1p112/package_install_gawk_bison_libffi-dev_libgdbm-dev_libncurses5-dev_libsqlite3-dev_libyaml-dev_sqlite3_zlib1g-dev_libgmp-dev_libssl1.0-dev.log Requirements installation failed with status: 100.
解决方法建议
- 先更新系统包源并升级现有包:
sudo apt update && sudo apt upgrade -y - 手动安装缺失的依赖包:
若sudo apt install gawk bison libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libyaml-dev sqlite3 zlib1g-dev libgmp-dev libssl1.0-devlibssl1.0-dev无法找到,改用兼容的libssl-dev(新Debian/Ubuntu版本多不再提供1.0版本):sudo apt install libssl-dev - 依赖安装完成后,重新执行Ruby的RVM安装命令。注意如果是Debian/Ubuntu系统,不建议用brew的OpenSSL路径,改用系统默认路径:
rvm reinstall 2.3.1p112 --with-openssl-dir=/usr/lib/ssl - 安装完成后验证OpenSSL加载状态:
能正常输出版本号后,再重新执行最初的SPARQL查询命令。ruby -r openssl -e "puts OpenSSL::VERSION"
内容的提问来源于stack exchange,提问作者chm
相关产品推荐
相关产品推荐

