You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04安装Ruby 2.6.2时触发__rvm_make -j8错误求助

在Ubuntu 22.04安装Ruby 2.6.2解决__rvm_make -j8错误的方案

问题描述

  • Ubuntu 22.04系统中,通过RVM安装Ruby 2.6.2时触发Error running '__rvm_make -j8'错误
  • 重新安装RVM无法解决问题,系统已正常运行Ruby 3,但必须使用2.6.2版本
  • 编译日志核心错误:OpenSSL 3.0中ERR_get_error_line_data函数被标记为废弃,且编译器将警告当作错误处理

解决方案

方法1:指定兼容的OpenSSL版本编译

Ruby 2.6.2不兼容Ubuntu 22.04默认的OpenSSL 3.0,需用OpenSSL 1.1编译:

  1. 安装OpenSSL 1.1依赖包:
    sudo apt-get install libssl1.1 libssl-dev
    
  2. 执行RVM安装命令并指定OpenSSL路径:
    rvm install 2.6.2 --with-openssl-dir=/usr/lib/ssl
    

方法2:禁用警告转错误编译

通过环境变量让编译器忽略废弃警告:

  1. 设置编译参数:
    export CFLAGS="-Wno-error=deprecated-declarations"
    
  2. 重新执行RVM安装:
    rvm install 2.6.2
    

方法3:使用rbenv替代RVM(可选)

若RVM仍有问题,可尝试rbenv:

  1. 安装rbenv及ruby-build:
    sudo apt-get install rbenv ruby-build
    
  2. 配置rbenv到shell环境:
    echo 'eval "$(rbenv init -)"' >> ~/.bashrc
    source ~/.bashrc
    
  3. 指定OpenSSL安装Ruby 2.6.2:
    RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/lib/ssl" rbenv install 2.6.2
    

错误原因

Ubuntu 22.04预装OpenSSL 3.0,而Ruby 2.6.2的openssl扩展使用了该版本中已废弃的ERR_get_error_line_data函数;同时编译过程默认启用-Werror参数,将所有警告视为错误,最终导致编译中断。

内容的提问来源于stack exchange,提问作者KangarooBoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:15:45