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

Ruby on Rails应用运行报错:bundle命令执行时Gem原生扩展构建失败

解决racc原生扩展编译失败问题

问题根源

你用的系统自带Ruby 2.6版本和racc 1.6.1不兼容——这个版本的racc要求Ruby 2.7及以上。另外系统自带Ruby权限受限,还可能缺少编译依赖,都会导致原生扩展构建失败。

解决办法

办法1:升级Ruby版本(推荐)

系统Ruby版本老旧且管理不便,建议用版本管理器安装合适的Ruby版本:

  • 以rbenv为例(Mac系统):
    1. 先安装Homebrew:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    2. 安装rbenv:brew install rbenv
    3. 初始化rbenv:rbenv init,跟着提示把配置代码添加到~/.zshrc或~/.bashrc中
    4. 安装Ruby 2.7.x或更高版本,比如:rbenv install 2.7.8
    5. 给当前项目指定该Ruby版本:rbenv local 2.7.8
    6. 重新执行bundle install(无需加--full-index,除非源访问有问题)

办法2:降级racc版本

如果暂时不想升级Ruby,可以指定兼容Ruby 2.6的racc版本:

  1. 在Gemfile中添加一行:gem 'racc', '~> 1.5.2'
  2. 执行bundle update racc
  3. 再运行bundle install

办法3:补全编译依赖(Mac系统)

如果是缺少编译工具导致的失败,先安装Xcode命令行工具:xcode-select --install,之后再重试bundle命令。


内容的提问来源于stack exchange,提问作者Shiva Kumar Pothunoori

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:05:17