苹果M1芯片下Flutter项目执行pod install提示无法加载ffi_c报错
M1芯片Mac Flutter项目pod install ffi加载错误解决方案
错误原因
该报错本质是M1芯片ARM架构与Mac系统自带的Ruby 2.6版本不兼容,你安装的ffi包没有正确编译适配ARM架构的二进制文件,导致cocoapods运行时无法加载ffi核心组件。
可选择的解决方法
方案1:临时指定x86架构执行命令(无需修改配置,应急首选)
直接在项目ios目录下执行如下命令即可完成pod安装:
arch -x86_64 pod install
方案2:使用Rosetta模式运行终端(长期适配x86开发工具)
- 打开Finder,进入「应用程序」-「实用工具」目录,右键点击「终端」选择「显示简介」
- 勾选「使用Rosetta打开」选项,关闭所有已打开的终端窗口后重新启动
- 执行命令重新安装ffi:
sudo gem install ffi - 进入项目ios目录执行
pod install即可正常运行
方案3:安装原生支持M1的Ruby版本(无兼容问题,长期开发推荐)
- 执行homebrew命令安装最新版Ruby:
brew install ruby - 执行配置环境变量命令:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc(若使用bash则将.zshrc替换为.bash_profile) - 重启终端后执行
ruby -v,确认输出的版本号不是2.6.x系列即代表配置成功 - 重新安装cocoapods和ffi:
sudo gem install cocoapods ffi - 进入项目ios目录执行
pod install即可
额外注意事项
若完成pod install后运行项目时出现模拟器架构相关报错,可打开Xcode进入项目的Build Settings设置页面,在Excluded Architectures配置项中,为模拟器运行配置添加
arm64即可解决。
内容的提问来源于stack exchange,提问作者Ananthakrishna
相关产品推荐
相关产品推荐

