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

React Native Turbo Module执行pod install遇Ruby版本不匹配问题求助

解决React Native Turbo Module安装Pod时Ruby版本不匹配的问题

问题根源

你直接执行ruby -v看到的是当前shell环境的Ruby版本,但bundle exec会优先遵循项目的Ruby版本配置——要么是项目根目录的.ruby-version文件指定的版本,要么是版本管理器(rbenv/rvm)给项目设置的本地版本,所以才会出现“明明全局是2.6.8,bundle却找3.1.2”的矛盾情况。

修复步骤

  • 检查项目本地版本配置
    进入项目根目录,查看是否存在.ruby-version文件:

    cat .ruby-version
    

    如果文件里写的是3.1.2,直接改成2.6.8保存即可;要是你想统一使用3.1.2版本,那得先确保本地已安装该版本。

  • 重置bundle关联
    删除旧的bundle缓存,重新安装依赖:

    rm -rf .bundle/
    bundle install --redownload
    

    完成后再尝试运行RCT_NEW_ARCH_ENABLED=1 bundle exec pod install。

  • 检查版本管理器状态
    如果你用了rbenv或者rvm,先确认项目的本地版本设置:

    • 针对rbenv:执行rbenv local,若输出是3.1.2,执行以下命令切换:
      rbenv local 2.6.8
      
    • 针对rvm:执行rvm current,若版本不对,执行切换命令:
      rvm use 2.6.8
      
  • 强制指定Ruby版本执行
    要是上面的方法都无效,直接用当前Ruby的路径来执行bundle:

    RCT_NEW_ARCH_ENABLED=1 $(which ruby) $(which bundle) exec pod install
    

    这会强制使用你ruby -v显示的那个版本的Ruby和对应的bundle。

  • 同步bundler版本
    有时bundler版本不兼容也会引发问题,卸载旧的bundler,安装和Gemfile.lock一致的版本:

    gem uninstall bundler
    gem install bundler -v $(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)
    

内容的提问来源于stack exchange,提问作者Berry Blue

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:05:23