M1芯片MacBook上React Native执行pod install遇Podfile报错求助
问题原因
你的核心问题是M1 Mac上的Ruby版本与React Native依赖的脚本不兼容:
use_native_modules!未定义:本质是CocoaPods无法正确加载React Native的Pod插件,根源在于Ruby环境异常- 新RN项目的脚本语法错误:
<<~EOS是Ruby 2.3+才支持的「带缩进的 heredoc」语法,你的当前Ruby版本不支持该语法,导致解析脚本失败
解决方案
1. 清理现有CocoaPods与Ruby环境残留
- 卸载系统级CocoaPods:
sudo gem uninstall cocoapods - 删除残留的Pod缓存:
rm -rf ~/.cocoapods
2. 安装Ruby版本管理工具(推荐rbenv)
- 用Homebrew安装rbenv:
brew install rbenv ruby-build - 初始化rbenv到shell配置(根据你的shell类型选择):
# zsh用户执行 echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc # bash用户执行 echo 'eval "$(rbenv init - bash)"' >> ~/.bash_profile - 重启终端或刷新配置:
source ~/.zshrc # zsh用户 # 或 source ~/.bash_profile bash用户
3. 安装兼容的Ruby版本
React Native稳定版本推荐Ruby 2.7.x或3.0.x,以2.7.6为例:
rbenv install 2.7.6 rbenv global 2.7.6
- 验证Ruby版本:
ruby -v # 应显示ruby 2.7.6p219或类似版本号
4. 重新安装CocoaPods
gem install cocoapods
- 验证CocoaPods版本:
pod --version # 建议使用1.11.x及以上版本
5. 修复现有项目的Pod问题
- 进入项目ios目录,删除旧Pod相关文件:
cd ios rm -rf Pods Podfile.lock pod deintegrate - 重新执行pod安装:
pod install
M1 Mac额外注意
如果执行pod install时仍出现架构相关错误,需给终端启用Rosetta:
找到终端应用→右键→显示简介→勾选「使用Rosetta打开」,重启终端后再执行命令
内容的提问来源于stack exchange,提问作者user18899735
相关产品推荐
相关产品推荐

