M1芯片Mac执行react-native init时CocoaPods安装失败及Ruby解释器BUG求助
问题根因
该错误完全由M1系列Mac预装的系统Ruby(2.6.x版本)的架构兼容性问题导致。M1芯片属于arm64架构,macOS自带的系统Ruby对arm64架构支持不完善,运行ffi这类带原生扩展的依赖库时会触发底层总线错误,和你操作步骤没有关系。
解决步骤
- 若尚未安装Homebrew,先执行安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 通过Homebrew安装高版本Ruby:
brew install ruby - 配置环境变量,把brew安装的Ruby优先级调整到系统Ruby之前。如果使用Mac默认的zsh终端,依次执行:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc
如果使用bash终端,将上面命令中的.zshrc替换为.bash_profile即可 - 验证Ruby版本是否配置正确:执行
ruby -v,确认输出的版本号高于2.7.0,且安装路径为/opt/homebrew/开头,而非系统默认的/usr/bin/ruby - 重新安装ffi和CocoaPods依赖:
先卸载旧版本(如果提示未安装可直接跳过):sudo gem uninstall ffi cocoapods
安装新版本:gem install ffi cocoapods - 回到项目iOS目录重新执行安装:
cd ./AwesomeProject/ios && pod install
特殊情况处理
如果执行pod install时仍有架构相关报错,可以加前缀强制指定arm64架构运行:arch -arm64 pod install
内容的提问来源于stack exchange,提问作者Bosco Tsin
相关产品推荐
相关产品推荐

