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

升级React Native从0.59到0.64.2时执行pod install报错:No such file or directory @ rb_sysopen

解决React Native 0.64升级后pod install的Errno::ENOENT报错

我之前升级RN版本的时候也碰到过几乎一模一样的问题,结合你的报错信息和Podfile配置来看,核心问题在于React Native 0.60+版本已经全面采用自动链接机制和全新的Podfile结构,而你还在沿用0.59时代手动引入RN核心依赖的方式,再加上升级后文件路径的变化,导致CocoaPods找不到指定的文件。下面是具体的解决步骤:

步骤1:清理旧的CocoaPods残留

首先彻底清空旧的Pods相关文件,避免残留影响新的安装:

# 进入ios目录
cd ios
# 移除Pods集成
pod deintegrate
# 删除锁文件和Pods目录
rm -rf Podfile.lock Pods
# 清理CocoaPods缓存
rm -rf ~/Library/Caches/CocoaPods
# 清理iOS build目录
rm -rf ../ios/build

步骤2:替换为RN 0.64标准结构的Podfile

RN 0.64不再需要手动引入React、yoga、Folly等核心依赖,而是通过官方提供的宏来自动处理。同时要注意iOS最低版本要求(RN 0.64最低支持iOS 10.0)。修改后的Podfile如下:

# 引入RN官方的Pods配置脚本
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

# RN 0.64最低支持iOS 10.0,修改平台版本
platform :ios, '10.0'

target 'Test' do
  use_frameworks!
  
  # 自动引入React Native核心依赖,指定RN在node_modules中的路径
  use_react_native!(
    :path => "../node_modules/react-native"
    # 如果需要启用Hermes引擎,取消下面的注释
    # :hermes_enabled => true
  )

  # 保留你的项目依赖
  pod 'CardIO', '5.4.1'

  # 本地Libraries中的第三方库,确保路径在升级后依然有效
  pod 'RNGestureHandler', :path => './Libraries/react-native-gesture-handler'
  pod 'BVLinearGradient', :path => './Libraries/react-native-linear-gradient'
  pod 'RNDeviceInfo', :path => './Libraries/react-native-device-info'
  pod 'RNFS', :path => './Libraries/react-native-fs'
  pod 'RNPermissions', :path => './Libraries/react-native-permissions'
  pod 'Permission-Camera', :path => './Libraries/react-native-permissions/ios/Camera.podspec'
  pod 'react-native-webview', :path => './Libraries/react-native-webview'
  pod 'react-native-adjust', :path => './Libraries/react-native-adjust'

  # 自动链接所有兼容RN自动链接的第三方模块
  use_native_modules!

  target 'TestTests' do
    inherit! :complete
    # 测试相关Pods
  end

  target 'TestUITests' do
    # UI测试相关Pods
  end
end

关键修改说明:

  • 移除了手动引入React、yoga、DoubleConversion、glog、Folly的代码,改用use_react_native!宏自动处理核心依赖,避免路径错误
  • 添加了RN官方的Pods配置脚本,这是自动链接机制的基础
  • 更新了iOS最低版本到10.0,符合RN 0.64的要求
  • 保留了你项目中原有的第三方库,但要确保这些库的路径在升级后依然存在,部分旧库可能需要更新版本以适配RN 0.64

步骤3:重新执行pod install

完成上述修改后,回到ios目录执行安装:

cd ios
pod install

额外排查点

如果依然报错,可以检查以下内容:

  • 确认项目根目录的node_modules/react-native存在且版本为0.64,执行npm list react-native或yarn list react-native验证
  • 检查本地Libraries中的第三方库是否适配RN 0.64,部分旧库可能需要升级到最新兼容版本
  • 如果你的项目是将RN源码放在本地Libraries目录(而非通过npm/yarn安装),请确保0.64版本的RN源码完整放置在./Libraries/react-native路径下

内容的提问来源于stack exchange,提问作者Alejandro Gonzalez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:22:40