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

升级Xcode12.3和Big Sur后执行pod install遇ffi相关错误求助

解决Big Sur + Xcode 12.3下Pod Install的FFI相关错误

我之前在升级到Big Sur和Xcode 12.3的时候也碰到过完全一样的ffi问题,折腾了一阵终于解决了,给你几个可行的方案:

方案一:修复现有FFI扩展

错误提示里已经给出了直接的修复命令,不过因为是系统Ruby,可能需要加上sudo获取权限:

sudo gem pristine ffi --version 1.13.1

执行完这个命令后,再尝试运行pod install看看是否解决问题。如果还是不行,试试下面的方案。

方案二:升级FFI到兼容Big Sur的版本

旧版本的ffi(1.13.1)可能和Big Sur的系统环境不兼容,我们可以直接安装一个更适配的新版本:

sudo gem install ffi --version 1.15.4

这个版本是经过验证可以在Big Sur上正常运行的,安装完成后再执行pod install应该就能避开版本找不到的错误。

方案三:使用Ruby版本管理器(推荐)

系统自带的Ruby经常会因为系统升级出现兼容性问题,更稳妥的方式是用版本管理器安装独立的Ruby环境,彻底和系统Ruby划清界限:

  • 先安装rbenv(如果没装Homebrew的话,先装Homebrew):
    brew install rbenv
    
  • 初始化rbenv,把它加入你的shell配置(比如Zsh是~/.zshrc,Bash是~/.bash_profile):
    rbenv init
    
    运行完后按照提示,把对应的代码添加到你的shell配置文件里,然后重启终端或者执行source ~/.zshrc生效。
  • 安装一个兼容Big Sur的Ruby版本,比如2.7.5:
    rbenv install 2.7.5
    
  • 设置全局Ruby版本(或者在项目目录下设置本地版本):
    rbenv global 2.7.5
    
  • 重新安装CocoaPods:
    gem install cocoapods
    
  • 最后验证一下,执行pod install应该就能正常工作了。

问题根源说明

Big Sur和Xcode 12.3升级后,系统的编译环境和架构发生了一些变化,导致旧版本的ffi扩展无法正常构建和加载。系统自带的Ruby 2.6.3是比较旧的版本,和新系统的兼容性不如新的Ruby版本好,所以要么升级ffi,要么更换Ruby版本,就能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:14:56