You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:12:49