Ubuntu 22.04环境下无法安装Ruby 2.1.5的问题求助
解决Ubuntu 22.04下RVM安装Ruby 2.1.5的问题
避免移除libssl-dev的编译方案
Ruby 2.1.5依赖旧版OpenSSL(1.0.x),而Ubuntu 22.04默认搭载的是OpenSSL 3.x,直接编译会出现依赖冲突。无需卸载现有libssl-dev,可通过安装兼容的旧版OpenSSL并指定编译路径解决:
- 手动安装OpenSSL 1.0.2的deb包(Ubuntu 22.04默认仓库无此包):
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl-dev_1.0.2n-1ubuntu5.10_amd64.deb sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.10_amd64.deb libssl-dev_1.0.2n-1ubuntu5.10_amd64.deb - 用RVM编译Ruby时指定OpenSSL路径:
rvm install 2.1.5 --with-openssl-dir=/usr/lib/ssl
修复RVM Mount报错的方案
rvm mount无法识别远程包版本,可先手动下载源码包到本地再挂载:
- 下载Ruby 2.1.5源码包:
wget https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.bz2 - 挂载本地包并重新编译:
rvm mount ./ruby-2.1.5.tar.bz2 -n ruby-2.1.5 rvm reinstall ruby-2.1.5 --with-openssl-dir=/usr/lib/ssl
无侵入式替代方案:Docker
如果不想修改系统依赖,直接用Docker拉取预装Ruby 2.1.5的镜像,完全隔离本地环境:
docker run -it --rm ruby:2.1.5 bash
将项目代码挂载到容器内即可进行维护开发。
内容的提问来源于stack exchange,提问作者Alberto
相关产品推荐
相关产品推荐

