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

M1 Mac调试Flutter项目执行flutter run时pod install报错求助

M1芯片Mac Flutter调试iOS模拟器Error running pod install及Podfile post-install钩子报错解决方案

以下步骤按触发概率从高到低排序,逐次执行可覆盖绝大多数报错场景:

  • 修复M1芯片下CocoaPods架构兼容问题
    这类报错80%以上是CocoaPods及关联依赖未适配ARM架构导致,直接执行以下命令重装适配版本:
    # 卸载通过gem安装的旧版本CocoaPods,提示选版本时全选删除即可
    sudo gem uninstall cocoapods
    # 安装x86转译兼容依赖
    sudo arch -x86_64 gem install ffi
    # 通过homebrew安装原生支持ARM架构的稳定版CocoaPods
    brew install cocoapods
    
    安装完成后执行pod --version确认版本号≥1.12.0,该版本对M1系列芯片的兼容性问题修复最完整。
  • 清理全链路缓存,排除脏数据干扰
    回到Flutter项目根目录,依次执行以下命令彻底清理残留缓存:
    flutter clean
    rm -rf ios/Pods ios/Podfile.lock ~/Library/Caches/CocoaPods
    flutter pub get
    
  • 修正Podfile的post-install钩子配置
    直接报post-install hook处理错误,基本都是钩子内配置过时、未适配M1模拟器架构、缺少Flutter必要构建参数导致。打开项目路径下的ios/Podfile文件,找到以post_install do |installer|开头的代码块,整体替换为以下适配配置,原块里的自定义配置除非明确知道作用否则不要保留:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        target.build_configurations.each do |config|
          # 可替换为项目实际需要的最低iOS版本,不要低于11.0
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
          # 解决模拟器架构冲突问题
          config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
        end
      end
    end
    
    修改完成后进入ios目录执行pod install,确认无报错后回到项目根目录执行flutter run即可正常启动。
  • 排查剩余环境配置问题
    以上步骤执行后仍报错的,逐一核对以下配置项:
    • 打开Xcode,进入Settings > Locations页面,确认Command Line Tools选中当前安装的正式版Xcode,不能是空值或Beta版本
    • 禁止用sudo权限执行pod install或flutter run,如果之前误用sudo导致权限错乱,执行sudo chown -R $(whoami) 你的项目绝对路径 ~/Library/Caches/CocoaPods修复权限
    • 检查CocoaPods源连通性,默认GitHub源访问超时可切换为国内镜像源,切换后执行pod repo update更新本地源缓存再重试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:12:33