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 cocoapodspod --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 endios目录执行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更新本地源缓存再重试
- 打开Xcode,进入
内容的提问来源于stack exchange,提问作者Janam Maharjan
相关产品推荐
相关产品推荐

