M1芯片Mac设备Flutter开发中CocoaPods安装异常及xcodebuild报错问题求助
解决M1 Mac上CocoaPods配置的两个常见问题
先给你拆解一下遇到的两个问题,都是M1芯片Mac上配置开发环境时的典型情况,一步步来解决:
一、关于xcodebuild -runFirstLaunch的ObjC类重复警告
你看到的那些Class XXX is implemented in both...的警告,其实是Apple系统库之间的小冲突,不是致命错误,不会影响Xcode或者后续CocoaPods的功能。很多M1用户都遇到过这个情况,不用太紧张。如果实在想消除警告,可以试试这两个操作:
- 完全退出Xcode,重新打开后再执行
xcodebuild -runFirstLaunch - 重新安装Xcode命令行工具:
sudo xcode-select --install,然后再切换路径重新执行初始化命令
二、解决pod命令找不到、flutter doctor识别不到CocoaPods的问题
这个问题的核心是:你用sudo gem install cocoapods安装的CocoaPods,它的可执行文件路径没有被添加到系统的PATH环境变量里,所以终端和flutter都找不到它。下面给你两种解决方法:
方法一:修复gem安装的PATH路径
- 先确认CocoaPods确实已经安装:
执行命令:gem list cocoapods,如果输出里能看到cocoapods的版本,说明安装没问题。 - 找到gem的可执行文件目录:
执行命令:gem environment | grep "EXECUTABLE DIRECTORY",你会得到类似这样的路径:/Users/你的用户名/.gem/ruby/2.6.0/bin - 将这个路径添加到zsh的配置文件中:
打开终端执行:open ~/.zshrc(如果用的是bash就打开~/.bash_profile),在文件末尾添加一行:
注意把export PATH="$HOME/.gem/ruby/2.6.0/bin:$PATH"2.6.0替换成你自己刚才查到的ruby版本号。 - 让配置生效:
执行命令:source ~/.zshrc - 验证:
执行pod --version,如果能输出版本号,说明成功了,再运行flutter doctor,应该就不会提示CocoaPods未安装了。
方法二:改用Homebrew安装CocoaPods(更推荐M1用户)
gem在M1 Mac上经常会有路径兼容问题,用Homebrew安装会更顺畅:
- 先卸载之前用gem装的CocoaPods:
sudo gem uninstall cocoapods - 如果还没装Homebrew,先安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 用Homebrew安装CocoaPods:
brew install cocoapods - 验证:
执行pod --version和flutter doctor,应该都能正常识别了。
另外,如果还是有问题,可以试试用Rosetta模式打开终端:右键终端图标→显示简介→勾选“使用Rosetta打开”,然后重新执行安装命令,这能解决一些arm64架构的兼容问题。
内容的提问来源于stack exchange,提问作者Ankit
相关产品推荐
相关产品推荐

