M1 MacBook Air安装cloud_firestore时CocoaPods报map方法未定义错误
M1 MacBook Air 中 Flutter 添加 cloud_firestore 后 pod install 失败的解决方案
问题背景
- M1芯片MacBook Air,原有Flutter应用运行正常
- 执行
flutter pub add cloud_firestore后,iOS端pod install阶段报错,核心异常:- JSON解析失败(解析BoringSSL-GRPC的podspec.json时出现异常)
Searching for inspections failed: undefined method 'map' for nil:NilClass
- 已尝试无效方案:
sudo arch -x86_64 gem install ffi+arch -x86_64 pod install- 通过Homebrew/gem重装CocoaPods
- 更换Ruby版本及环境
- 新建项目测试(仅cloud_firestore触发该错误)
- 当前环境:CocoaPods 1.11.3,Ruby 3.1.2
针对性解决方案
1. 强制指定BoringSSL-GRPC稳定版本
在iOS目录的Podfile中添加版本锁定代码,避免拉取存在解析问题的版本:
pod 'BoringSSL-GRPC', '= 0.0.24'
执行命令重新安装依赖:
arch -x86_64 pod install
2. 彻底清理缓存后重装
执行以下命令清除所有相关缓存及旧依赖,再重新拉取:
# 清理CocoaPods全局缓存 pod cache clean --all rm -rf ~/Library/Caches/CocoaPods # 清理项目本地Pod文件 rm -rf ios/Pods rm ios/Podfile.lock # 清理Flutter缓存并重获依赖 flutter clean flutter pub get # 重新执行pod install arch -x86_64 pod install
3. 升级CocoaPods到M1兼容版本
CocoaPods 1.11.3与Ruby 3.1.2、M1芯片的兼容性可能存在问题,升级到最新稳定版:
# 卸载旧版本 sudo gem uninstall cocoapods # 以x86_64架构安装新版本 sudo arch -x86_64 gem install cocoapods # 初始化CocoaPods配置 pod setup
完成后重新执行arch -x86_64 pod install
4. 锁定Podfile的Ruby版本
在Podfile开头添加Ruby版本指定,确保环境一致性:
ruby '3.1.2'
保存后重新执行arch -x86_64 pod install
5. 重新配置Firebase依赖
使用Firebase官方工具重新配置项目依赖,确保所有Firebase相关包版本匹配:
flutterfire configure
完成后执行flutter pub get和arch -x86_64 pod install
内容的提问来源于stack exchange,提问作者ItsMrMarc
相关产品推荐
相关产品推荐

