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

Mac M1安装Ruby 2.7.1遇ffi_prep_closure未声明函数错误求助

解决Mac M1上rvm安装Ruby 2.7.1时的ffi_prep_closure错误

这个错误源于M1的ARM架构与Ruby 2.7.1的FFI(Foreign Function Interface)组件适配不兼容,再加上C99标准禁止隐式函数声明的限制。以下是针对性的解决步骤:

步骤1:更新rvm到最新稳定版

先确保rvm处于最新状态,避免旧版本带来的兼容性问题:

rvm get stable

步骤2:重新安装适配ARM架构的FFI库

卸载可能存在的x86版本或损坏的FFI,再通过Homebrew安装适配M1的版本:

brew uninstall --ignore-dependencies ffi
brew install ffi

步骤3:指定环境变量并安装Ruby 2.7.1

通过环境变量让Ruby安装程序正确定位FFI库,同时添加编译参数忽略隐式函数声明的警告:

export LDFLAGS="-L$(brew --prefix ffi)/lib"
export CPPFLAGS="-I$(brew --prefix ffi)/include"
export PKG_CONFIG_PATH="$(brew --prefix ffi)/lib/pkgconfig"
rvm install ruby-2.7.1 --with-opt-dir=$(brew --prefix ffi)

或者直接用一条命令指定编译选项:

rvm install ruby-2.7.1 --configure-opts="--with-ffi-dir=$(brew --prefix ffi) CFLAGS=-Wno-implicit-function-declaration"

验证安装结果

安装完成后,执行以下命令确认Ruby版本:

ruby -v

若输出显示ruby 2.7.1p83(或对应版本号),则说明安装成功。

内容的提问来源于stack exchange,提问作者Eric.N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:14:53