添加react-native-firebase/analytics后EAS本地构建iOS失败
解决方案:EAS本地构建iOS模拟器版本时ffi依赖加载失败
问题核心
本地EAS构建触发pod install时,ffi-1.15.5无法找到对应版本的libruby.3.2.dylib,本质是本地Ruby环境与依赖库的版本不匹配,而远程构建使用Expo标准化环境所以不受影响。
具体修复步骤
统一本地Ruby版本到3.2.x
用rbenv或rvm管理Ruby版本(不建议用系统自带Ruby):# 安装rbenv(如果没装) brew install rbenv rbenv init # 安装3.2.x稳定版(比如3.2.2) rbenv install 3.2.2 # 设置全局Ruby版本 rbenv global 3.2.2 # 重启终端后验证版本 ruby -v重新安装指定版本的ffi gem
卸载旧依赖后重装对应版本,确保绑定到正确的Ruby环境:gem uninstall ffi gem install ffi -v 1.15.5 # 若遇权限问题,添加--user-install # gem install ffi -v 1.15.5 --user-install清理构建缓存与依赖文件
清除EAS本地缓存和项目残留的旧依赖:# 清理EAS构建缓存 eas build:clean # 进入iOS目录清理Pod相关文件 cd ios && rm -rf Pods Podfile.lock cd .. && rm -rf node_modules package-lock.json # 重新安装项目依赖 npm install验证Pod安装并重新构建
先手动验证Pod安装是否正常,再执行EAS构建:cd ios && pod install # 若手动安装成功,回到项目根目录执行构建 cd .. && eas build --profile development-simulator --platform ios --local
额外注意事项
- 确保终端的PATH环境变量优先指向rbenv/rvm的Ruby shims,避免调用系统Ruby
- Xcode 15.3对Ruby版本兼容性要求较高,3.2.x版本是较为稳妥的选择
内容的提问来源于stack exchange,提问作者Rwzr Q
相关产品推荐
相关产品推荐

