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

Mac M1运行rails new时racc 1.5.2 gem原生扩展构建失败如何解决

解决方案

核心问题说明

报错的根本原因是当前调用了MAMP自带的x86架构Ruby 2.6版本,该版本缺失编译原生gem扩展所需的静态库,且和M1的arm架构不兼容,开发场景下不要使用系统或集成环境自带的Ruby版本。

操作步骤

第一步:配置适配M1的Ruby开发环境

  • 打开原生终端(不要用Rosetta转译模式),先确保Homebrew已正常安装(M1原生版本)
  • 安装Ruby版本管理工具rbenv:brew install rbenv ruby-build
  • 安装原生适配M1的稳定Ruby版本:rbenv install 3.1.4
  • 设置全局默认Ruby版本:rbenv global 3.1.4
  • 将rbenv加入环境变量,如果你用zsh终端执行:echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc;如果用bash终端执行:echo 'eval "$(rbenv init - bash)"' >> ~/.bash_profile
  • 重启终端后验证环境:执行which ruby,返回路径为/Users/你的用户名/.rbenv/shims/ruby、执行ruby -v显示版本为3.1.4即说明配置成功

第二步:重新安装Rails并创建项目

  • 执行命令安装Rails:gem install rails(需要指定版本可添加参数-v 6.1.4.1)
  • 切换到你个人用户目录下的开发文件夹,执行rails new myappname创建项目,此时会自动调用rbenv管理的Ruby版本,不会再触发MAMP相关路径的报错

可选异常修复

如果碰到Operation Not Permitted报错,执行命令给rbenv目录赋当前用户权限即可:sudo chown -R $(whoami) ~/.rbenv,不要用sudo执行gem安装操作。

可选MAMP兼容配置

如果需要保留MAMP的正常使用,只需确认rbenv的环境变量在PATH中的优先级高于MAMP路径即可,执行echo $PATH检查/Users/你的用户名/.rbenv/shims路径在/Applications/MAMP相关路径之前就不会产生冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:36:03