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

Ruby 2.4.5环境下安装Rails 5.1.5遇报错求助

解决Ruby 2.4.5 + Rails 5.1.5在M1 Pro上的安装问题

问题1:安装Rails 5.1.5时racc版本不兼容

最新版racc要求Ruby >=2.5,与Ruby2.4.5不兼容,需先安装适配版本:

  • 安装兼容的racc:
    gem install racc -v 1.4.16
    
  • 再安装Rails 5.1.5:
    gem install rails -v 5.1.5
    

若用Bundler,直接在Gemfile中指定版本:

gem 'racc', '1.4.16'

问题2:nokogiri 1.8.2原生扩展编译失败(LZMA_OK未声明)

M1 Pro的arm64架构对旧版Ruby/nokogiri支持有限,按以下步骤解决:

  1. 使用Rosetta 2终端操作
    复制系统终端并重命名为「终端(Rosetta)」,右键勾选「使用Rosetta打开」,后续所有rbenv、gem、bundle命令都在此终端执行。

  2. 重装Ruby 2.4.5(确保x86_64架构)
    若之前在arm64环境安装过Ruby,先卸载:

    rbenv uninstall 2.4.5
    

    在Rosetta终端重新安装:

    rbenv install 2.4.5
    

    验证架构(输出应为x86_64-darwinXX):

    ruby -e 'puts RUBY_PLATFORM'
    
  3. 安装依赖库
    通过Homebrew安装libxml2和xz(LZMA依赖):

    brew install libxml2 xz
    
  4. 指定依赖路径安装nokogiri
    单独安装:

    gem install nokogiri -v 1.8.2 -- --use-system-libraries \
      --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 \
      --with-xz-include=$(brew --prefix xz)/include \
      --with-xz-lib=$(brew --prefix xz)/lib
    

    用Bundler安装:
    先配置编译参数:

    bundle config build.nokogiri --use-system-libraries \
      --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 \
      --with-xz-include=$(brew --prefix xz)/include \
      --with-xz-lib=$(brew --prefix xz)/lib
    

    再执行安装:

    bundle install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:25:15