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

MacOS Ventura下Ruby 3.1.2启动Rails服务触发总线错误求助

Rails服务启动触发Ruby Bus Error崩溃解决方案

环境信息

  • 系统:MacOS Ventura 13.2.1
  • Ruby版本:ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin22]
  • 触发场景:启动Rails本地服务rails s时抛出错误:

/Users/emmanuelleducolombier/.rbenv/versions/3.1.2/lib/ruby/3.1.0/socket.rb:227: [BUG] Bus Error at 0x000000010add5a98

已尝试操作(无效)

  • 通过rbenv重装Ruby 3.1.2,rbenv install -l列表中无该版本但仍可安装,问题未解决
  • 删除ffi库缓存及配置文件后重装依赖,问题依旧

可行解决方案

方案1:切换到Ruby 3.1系列维护版本(推荐)

Ruby 3.1.2存在与MacOS Ventura兼容的socket模块bug,后续维护版本已修复,建议升级到3.1.4:

  1. 更新rbenv的ruby-build插件,获取最新版本列表:
    cd ~/.rbenv/plugins/ruby-build && git pull
    
  2. 安装Ruby 3.1.4:
    rbenv install 3.1.4
    
  3. 在项目目录切换Ruby版本:
    rbenv local 3.1.4
    
  4. 重新安装项目依赖:
    bundle install
    
  5. 启动Rails服务验证:
    rails s
    

方案2:重新编译Ruby 3.1.2适配Ventura

若必须使用3.1.2,尝试用clang重新编译:

  1. 卸载现有Ruby 3.1.2:
    rbenv uninstall 3.1.2
    
  2. 设置编译环境变量:
    export CC=clang
    
  3. 重新安装Ruby 3.1.2:
    rbenv install 3.1.2
    
  4. 重启服务测试

方案3:检查架构兼容性(M系列芯片用户)

若使用Apple Silicon芯片,当前Ruby版本为x86_64架构(依赖Rosetta),可尝试安装arm64版本的Ruby 3.1.2:

  1. 确保终端未使用Rosetta打开(右键终端-显示简介,取消"使用Rosetta打开")
  2. 重新执行卸载、安装步骤:
    rbenv uninstall 3.1.2
    rbenv install 3.1.2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:02:16