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

MacOS M1芯片安装Ruby gem ffi 1.8.1后架构不兼容问题求助

解决MacOS M1芯片上Rails依赖ffi 1.8.1的架构不兼容问题

问题原因

你安装的ffi 1.8.1是x86_64架构,但当前运行的Ruby环境为arm64架构,动态库加载时出现架构不匹配,导致启动失败。

解决方案

方案1:切换到x86_64架构环境运行应用

  • 卸载已安装的x86_64版本ffi:
    gem uninstall ffi -v 1.8.1
    
  • 用Rosetta 2启动终端:右键终端应用→「获取信息」→勾选「使用Rosetta打开」
  • 在该终端内重新安装依赖:
    # 如果使用bundler
    bundle install
    # 或直接安装ffi
    gem install ffi -v 1.8.1 --with flags="-Wno-error=implicit-function-declaration"
    
  • 在该终端内启动Rails:
    rails s
    

方案2:编译arm64版本的ffi 1.8.1

  • 卸载现有ffi:
    gem uninstall ffi -v 1.8.1
    
  • 设置环境变量指定arm64架构及编译参数:
    export ARCHFLAGS="-arch arm64"
    export INSTALL_FLAGS="--with flags=\"-Wno-error=implicit-function-declaration\""
    
  • 安装arm64版本的ffi:
    gem install ffi -v 1.8.1 $INSTALL_FLAGS
    
  • 正常启动Rails:
    rails s
    

额外检查

可以通过以下命令确认当前Ruby的架构:

ruby -e 'puts RUBY_PLATFORM'
  • 若输出包含arm64,则Ruby为arm64架构,优先使用方案2
  • 若输出包含x86_64,则Ruby为x86_64架构,优先使用方案1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:45:09