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

M1 Mac Flutter开发运行pod install报CocoaPods ffi架构不兼容错误

M1 Mac Flutter开发CocoaPods架构不兼容报错解决方案

问题根因

报错核心是依赖架构混装:当前环境同时存在Rosetta转译的x86_64程序和原生arm64e程序,之前按照错误提示执行arch -x86_64 sudo gem install ffi安装的是x86_64架构的ffi组件,和系统原生arm64e架构的Ruby环境不匹配;且flutter doctor仅校验依赖是否存在,不会检测架构一致性,所以会显示无异常。另外运行Flutter的终端/Android Studio开启了Rosetta转译,会进一步加剧架构混乱问题。

操作步骤

  • 第一步:清理所有历史错装的依赖残留
    打开终端(先确认终端没有开启Rosetta模式),依次执行以下命令卸载所有旧版本的ffi、CocoaPods相关组件,遇到多版本提示时选择全部卸载:
    sudo gem uninstall ffi
    sudo gem uninstall cocoapods
    sudo gem uninstall cocoapods-core
    sudo gem uninstall cocoapods-downloader
    brew uninstall --force cocoapods
    
  • 第二步:安装arm64原生架构的对应依赖
    执行以下命令时不要加arch -x86_64前缀,直接安装原生适配M1芯片的版本:
    sudo gem install ffi
    sudo gem install cocoapods
    
  • 第三步:校验架构正确性
    执行以下命令检查ffi组件的架构,输出内容包含arm64e即为安装正确:
    file /Library/Ruby/Gems/2.6.0/gems/ffi-*/lib/ffi_c.bundle
    
  • 第四步:清理项目缓存重新安装依赖
    进入你的Flutter项目下的ios目录,清除旧的缓存后重新执行pod安装:
    cd 你的Flutter项目路径/ios
    rm -rf Pods Podfile.lock
    pod repo update
    pod install
    
  • 第五步:关闭Android Studio的Rosetta模式
    找到应用列表里的Android Studio,右键选择「显示简介」,取消勾选「使用Rosetta打开」,重启Android Studio后再运行iOS项目即可。

注意:后续所有iOS相关依赖安装操作,都不要手动加arch -x86_64前缀,避免再次装成x86架构导致冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:39:16