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

新建React Native 0.70.6裸项目后旧项目遇Metro构建及模块缺失错误

问题解决方案

核心原因

新初始化的React Native 0.70.6项目修改了全局Metro缓存或CLI环境,导致旧项目启动时复用了新版本的构建配置,而旧项目未配置expo-asset依赖,引发模块缺失错误。

修复步骤

1. 清除Metro缓存并隔离项目运行环境

  • 启动旧项目时强制重置Metro缓存:
    npx react-native start --reset-cache
    
  • 避免使用全局React Native CLI,改用项目本地依赖执行命令,确保环境隔离:
    # Android
    ./node_modules/.bin/react-native run-android
    # iOS
    ./node_modules/.bin/react-native run-ios
    

2. 修正旧项目的Asset配置

  • 打开旧项目的metro.config.js,检查是否存在从新版本RN复制过来的expo-asset相关配置(比如hashAssetFiles的引用),若旧项目未使用Expo,直接删除这些配置项。
  • 若旧项目确实需要expo-asset,安装与旧RN版本匹配的依赖版本:
    # 替换为旧RN版本兼容的expo-asset版本号
    npm install expo-asset@^8.5.0
    # 或用yarn
    yarn add expo-asset@^8.5.0
    

3. 清理全局依赖缓存

  • 清除npm/yarn全局缓存,避免版本冲突:
    # npm
    npm cache clean --force
    # yarn
    yarn cache clean
    
  • 删除Metro全局缓存目录(路径通常为~/.metro-cache),彻底清除跨项目缓存污染。

内容的提问来源于stack exchange,提问作者Md. Robi Ullah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:15:35