M1芯片Mac执行react-native init时出现NilClass错误求助
解决Mac M1 Sonoma下React Native初始化NilClass及ffi架构兼容问题
1. 修复ffi架构不兼容问题
- 卸载原有x86_64版本的ffi:
提示选择版本时,输入sudo gem uninstall ffiall卸载全部相关版本。 - 安装适配arm64架构的ffi:
gem install ffi -- --enable-libffi-alloc - 验证安装结果,确保ffi为arm64平台:
输出中应显示类似gem list ffiffi (1.16.3 arm64-darwin)的内容。
2. 重新初始化React Native项目
- 配置终端环境变量适配arm64(若未配置):
若需永久生效,可将上述命令添加到export arch=arm64 export PATH="/opt/homebrew/bin:$PATH"~/.zshrc(zsh终端)或~/.bash_profile(bash终端),执行source ~/.zshrc或source ~/.bash_profile生效。 - 重新执行项目初始化命令:
npx react-native init MyTest --verbose--verbose参数可输出详细日志,便于排查潜在问题。
3. 正确执行pod install
- 进入项目iOS目录:
cd MyTest/ios - 清理旧的Pod缓存文件:
rm -rf Podfile.lock Pods - 执行arm64架构的pod install:
若已配置arm64环境变量,直接执行arch -arm64 pod installpod install即可。
额外检查项
- 确保Xcode命令行工具为最新版本:打开Xcode → 偏好设置 → 位置 → 命令行工具,选择最新版本。
- 确认Homebrew为arm64版本,安装路径应为
/opt/homebrew,而非/usr/local。
内容的提问来源于stack exchange,提问作者iSaBo
相关产品推荐
相关产品推荐

