MacOS M1运行pod install --repo-update报symbol not found ffi错误求助
问题根因
该报错是M1系列芯片设备的CocoaPods常见兼容问题:系统自带的Ruby 2.6版本依赖的ffi库未适配arm64架构,导致CocoaPods运行时加载动态库失败。
可行解决方案
方案1:直接修复ffi依赖(最快捷,优先尝试)
- 打开原生终端,执行如下命令安装适配M1架构的ffi库:
sudo arch -arm64 gem install ffi
- 输入开机密码完成安装后,进入React Native项目的
ios目录,重新执行pod命令即可:
pod install --repo-update
方案2:Homebrew重装运行环境(解决系统Ruby权限/架构不兼容的根本问题)
如果方案1执行时出现权限报错或运行后依然失效,可更换CocoaPods的运行环境:
注:如果未安装Homebrew,请先完成Homebrew的标准安装流程后再执行后续命令。
- 执行命令安装Homebrew版本的Ruby:
brew install ruby
- 执行配置命令将Homebrew的Ruby加入系统环境变量(如果使用bash终端,将下方的
.zshrc替换为.bash_profile):
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
- 执行命令安装Homebrew版本的CocoaPods:
brew install cocoapods
- 安装完成后回到项目
ios目录,重新执行pod install --repo-update即可。
临时应急方案
如果需要快速运行命令来不及调整环境,可使用Rosetta兼容模式运行终端:
- 右键dock栏的终端图标,点击「显示简介」
- 勾选「使用Rosetta打开」选项,重启终端
- 进入项目
ios目录直接执行pod命令即可正常运行
内容的提问来源于stack exchange,提问作者Arman Khan
相关产品推荐
相关产品推荐

