You need to enable JavaScript to run this app. M1 macOS Big Sur 11.2.3搭建Rails、PostgreSQL环境遇Xcode、bcrypt安装问题
优惠活动
大模型
产品
解决方案
定价
更多

M1 macOS Big Sur 11.2.3搭建Rails、PostgreSQL环境遇Xcode、bcrypt安装问题

M1 Mac 搭建 Rails 开发环境问题解决方案

Devise 注册时 bcrypt 架构不匹配报错

这个报错是M1设备下原生扩展bcrypt混合了x86_64和arm64架构导致的,按以下步骤处理即可:

  • 完全卸载现有bcrypt gem:
    全局安装的执行 gem uninstall bcrypt -a
    项目bundle管理的执行 bundle exec gem uninstall bcrypt -a
  • 强制指定arm64编译参数:
    执行 bundle config build.bcrypt --with-build-options="-arch arm64"
  • 重新安装依赖:执行 bundle install
  • 若仍报错,检查终端是否开启了Rosetta模拟:右键终端应用>显示简介,取消勾选「使用Rosetta打开」,重启终端后重新执行编译步骤。

rbenv 无法设置 Ruby 3.0.0 为全局版本

你之前先删rbenv、再删Ruby版本的操作,确实是该异常的常见诱因——rbenv的版本指针、shim文件和程序本身强绑定,卸载顺序错误会残留无效路径引用、失效的全局版本配置。
按以下步骤修复:

  • 先确认shell配置正常加载rbenv:
    执行 echo $PATH,检查输出路径的最前端是否包含 $HOME/.rbenv/shims。如果没有,打开 ~/.zshrc 确认已添加配置 eval "$(rbenv init - zsh)",执行 source ~/.zshrc 让配置生效。
  • 强制写入全局版本配置:
    先执行 rbenv global 3.0.0,如果仍不生效,直接修改全局版本文件:执行 echo 3.0.0 > ~/.rbenv/version
  • 验证配置:执行 rbenv versions 查看版本列表中3.0.0前是否带*标记,再执行 ruby -v 确认输出的是arm64架构的3.0.0版本。

CommandLineTools 目录缺失、安装报错,无法安装旧版SDK头文件包

你当前的Big Sur 11.2.3正式版完全不需要安装macOS_SDK_headers_for_macOS_10.14.pkg——这个包是针对macOS 10.14及更早版本的兼容补丁,新版CommandLineTools已经自带了所有编译Ruby、PostgreSQL、原生扩展需要的头文件,你看到的教程里的这个步骤是Big Sur测试版时期的过时指引。
按以下步骤修复CommandLineTools安装问题:

  • 先重置xcode-select的默认路径:执行 sudo xcode-select --reset
  • 清空旧的残留安装目录:执行 sudo rm -rf /Library/Developer/CommandLineTools
  • 重新触发安装流程:执行 sudo xcode-select --install,系统会弹出安装弹窗,按提示完成安装后会自动生成 /Library/Developer/CommandLineTools/ 目录
  • 验证安装:执行 gcc --version,正常输出版本号即代表环境就绪,可以直接安装PostgreSQL、编译各类原生扩展。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 00:06:04