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

使用rvm安装Ruby时遇__rvm_make -j8错误(M1 macOS)

解决M1 Mac上RVM安装Ruby 3.1.x/3.2.x时OpenSSL编译错误

针对M1芯片MacBook Pro(macOS Ventura 13.5)上RVM安装Ruby 3.1.x/3.2.x出现的__rvm_make -j8错误(根源是ossl_ts.c中struct TS_verify_ctx定义不完整),可以按以下步骤解决:

  • 清理冲突的OpenSSL版本并重新安装指定版本
    先卸载所有可能冲突的OpenSSL包,再安装Ruby 3.1.x/3.2.x兼容的openssl@1.1:

    brew uninstall --ignore-dependencies openssl openssl@1.1 openssl@3
    brew install openssl@1.1
    
  • 配置编译环境变量,绑定OpenSSL路径
    临时设置环境变量,确保RVM编译Ruby时指向正确的OpenSSL库:

    export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
    export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
    export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"
    export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/openssl@1.1"
    
  • 更新RVM到最新开发版
    稳定版RVM 3.0.0对M1架构的兼容性可能不足,切换到最新HEAD版本:

    rvm get head
    
  • 清理编译缓存并重新安装Ruby
    先清理RVM的编译缓存,再指定OpenSSL路径安装目标Ruby版本:

    rvm cleanup all
    rvm install 3.1.4 --with-openssl-dir=/opt/homebrew/opt/openssl@1.1
    
  • 额外检查:更新Xcode命令行工具
    确保系统编译工具是最新版本,避免架构兼容问题:

    xcode-select --install
    softwareupdate --install -a
    

原因说明

M1芯片的arm64架构与传统x86_64存在差异,Ruby 3.1.x/3.2.x编译时对OpenSSL版本有特定依赖,同时旧版RVM对M1的支持不完善。通过指定openssl@1.1路径、更新RVM到最新版本,可解决struct TS_verify_ctx定义不完整的编译错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:07:07