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

M2芯片Mac运行Ruby2.5.1+Rails5.1.6报错:dyld缺失调用符号

解决M2 Mac上Ruby 2.5.1 + Rails 5.1.6启动报错的方案

核心原因

Ruby 2.5.x系列属于旧版本,原生不支持Apple Silicon(M系列芯片)的arm64架构,直接用RVM安装会因依赖库、编译架构不兼容,出现Ruby状态标记为broken、启动Rails时符号缺失的问题。


具体解决步骤

1. 卸载当前损坏的Ruby 2.5.1

先清理现有安装,避免后续冲突:

rvm uninstall 2.5.1

2. 用Rosetta 2以x86_64架构运行终端

Apple Silicon Mac可通过Rosetta模拟x86环境,这是运行旧Ruby版本的关键:

  • 找到「终端」应用,右键选择「复制」
  • 右键复制出的终端,选择「显示简介」
  • 勾选「使用Rosetta打开」,打开该终端窗口进行后续操作

3. 重新安装Ruby 2.5.1

在Rosetta终端中,用RVM从源码编译安装(避免预编译的arm64二进制包不兼容):

rvm install 2.5.1 --disable-binary

无需添加--with-out-ext=fiddle参数,源码编译会自动适配x86环境。

4. 验证Ruby状态

安装完成后检查状态,确认不再显示broken:

rvm list

正常情况下ruby-2.5.1会标记为[ default ]或[ current ]。

5. 重装项目依赖

进入项目目录,清理旧锁文件后重新安装依赖:

rm Gemfile.lock
bundle install

6. 启动Rails服务

尝试启动服务:

rails s

备选方案(Rosetta方案无效时)

如果上述步骤仍有问题,可换用asdf管理Ruby版本:

  1. 安装asdf:
brew install asdf
  1. 添加Ruby插件:
asdf plugin add ruby
  1. 在Rosetta终端中安装并切换到Ruby 2.5.1:
asdf install ruby 2.5.1
asdf global ruby 2.5.1
  1. 重复执行bundle install和rails s启动服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:24:52