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

MacOS Big Sur安装Rails报Failed to build gem native extension怎么办

Mac OS Big Sur 安装Rails报「Failed to build native extension」解决步骤

报错核心原因:你当前使用的是系统内置的Ruby 2.6.3,该版本受系统权限保护,且仅安装Xcode未正确配置命令行工具和编译参数,就会导致原生扩展编译失败。

  • 第一步:配置Xcode命令行工具
    仅安装Xcode.app不会自动安装编译所需的命令行组件,执行以下命令安装并同意许可:

    xcode-select --install
    sudo xcodebuild -license accept
    

    执行完成后输入xcode-select -p确认返回路径为/Applications/Xcode.app/Contents/Developer即可。

  • 第二步(推荐):替换系统内置Ruby
    系统内置Ruby是为系统组件服务的,不建议直接用于开发环境安装gem,推荐通过rbenv安装用户级别的独立Ruby版本:

    1. 先安装Homebrew包管理工具:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    1. 安装rbenv和Ruby编译组件:
    brew install rbenv ruby-build
    
    1. 配置rbenv环境变量(以常用的zsh为例,bash的话将.zshrc替换为.bash_profile):
    echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
    source ~/.zshrc
    
    1. 安装稳定版Ruby并设置为全局默认:
    rbenv install 3.2.2
    rbenv global 3.2.2
    
    1. 确认Ruby版本为用户安装的版本而非系统版本:
    ruby -v
    

    返回ruby 3.2.2即配置成功。

  • 第三步:安装Rails
    此时直接执行安装命令即可,不要加sudo,加sudo会切换到系统Ruby环境导致权限问题:

    gem install rails
    

临时解决方案(不替换系统Ruby)

如果坚持使用系统自带的Ruby 2.6.3,可指定用户目录安装gem,同时给nio4r扩展添加编译参数:

gem install nio4r -- --with-cflags="-Wno-error=implicit-function-declaration"
gem install --user-install rails

安装完成后将用户gem的bin目录添加到PATH环境变量即可正常调用rails命令。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:04