Ubuntu 18.04安装Ruby 2.3.x失败,Capistrano部署遇版本问题求助
解决Ubuntu 18.04 LTS下RVM安装Ruby 2.3.x时的
__rvm_make -j4错误 我之前在Ubuntu 18.04上也碰到过完全一样的问题——Ruby 2.3.x版本比较老旧,和18.04自带的编译器、依赖库(比如新版OpenSSL)存在兼容性冲突,这就是导致编译时出现__rvm_make -j4错误的核心原因。下面是我亲测有效的解决步骤:
步骤1:安装Ruby 2.3.x编译所需的完整依赖
Ubuntu 18.04默认缺少一些老版本Ruby编译必需的库,先一次性安装全:
sudo apt-get update sudo apt-get install build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
步骤2:指定兼容的编译器版本
Ubuntu 18.04默认的gcc版本是7.x,对Ruby 2.3.x的编译支持不佳,我们可以切换到gcc-6来编译:
- 先安装gcc-6:
sudo apt-get install gcc-6 g++-6 - 用指定的编译器安装Ruby 2.3.4:
CC=gcc-6 rvm install 2.3.4
步骤3:解决OpenSSL兼容性问题(如果步骤2仍失败)
Ruby 2.3.x默认依赖OpenSSL 1.0版本,但Ubuntu 18.04自带的是OpenSSL 1.1,需要额外安装旧版库并指定路径:
- 安装libssl1.0-dev:
sudo apt-get install libssl1.0-dev - 重新安装Ruby时指定OpenSSL路径:
CC=gcc-6 rvm install 2.3.4 --with-openssl-dir=/usr/lib/ssl
步骤4:确保RVM是最新稳定版
旧版本的RVM可能对Ubuntu 18.04的支持不完善,先更新RVM:
rvm get stable
更新完成后再重复步骤2或3的安装命令。
验证安装成功
安装完成后,执行以下命令确认版本:
ruby -v
如果显示ruby 2.3.4p301(或对应版本),说明安装成功。可以用以下命令设置默认Ruby版本,避免Capistrano再报错:
rvm use 2.3.4 --default
内容的提问来源于stack exchange,提问作者user4383363
相关产品推荐
相关产品推荐

