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

React Native @react-native/assets/registry模块无法解析报错求助

React Native v0.68.2 node_modules内assets目录随机自动删除问题

问题现象

  • 开发过程中node_modules/@react-native/路径下的assets文件夹会无明确诱因自动删除,触发模块解析报错:
Error: unable to resolve module @react-native/assets/registry from /Users/xx/ApplicationPath/node_modules/react-native/Libraries/Image/resolveAssetSource.js: @react-native/assets/registry could not be found within the project or in these directories:
  • 同问题复现于@react-navigation/elements/src路径下的assets文件夹,同样存在无故被删除的情况。

已确认规律

  • 完全删除node_modules文件夹后执行yarn install或npm install命令,上述两处assets文件夹可正常安装
  • 项目运行一段时间后assets文件夹会随机消失,暂未定位到明确触发操作

目录状态参考

  • 依赖安装完成后的正常目录状态:正常目录截图
  • 异常触发后的目录状态:异常目录截图

排查修复方案

  • 检查项目内脚本配置
    打开package.json检查所有prestart、postinstall、clean相关的脚本命令,排查是否存在模糊匹配assets目录的删除逻辑;如果项目安装了react-native-clean-project这类清理工具,检查自定义清理规则是否误将node_modules下的assets路径纳入清理范围。
    可先执行带缓存重置的启动命令,验证是否为Metro缓存清理逻辑导致的误删:
    npx react-native start --reset-cache
    
  • 检查包管理器依赖处理逻辑
    执行yarn why @react-native/assets查看该包的完整依赖链路,排查是否存在多版本依赖冲突,被yarn/npm的去重逻辑误判为无用冗余包删除。使用yarn的项目可在package.json中添加resolutions字段锁定对应包,避免被错误清理:
    "resolutions": {
      "@react-native/assets": "*"
    }
    
  • 排查系统层面工具拦截
    检查本地安装的杀毒软件、云盘同步工具,这类工具常将node_modules下的静态资源文件夹判定为临时缓存自动清理,将项目目录加入对应工具的白名单即可解决。
  • 临时兜底方案
    注意:该方案仅为规避报错的临时手段,定位根因后仍需彻底修复
    若暂时找不到根因,可在package.json的postinstall脚本中添加目录创建命令,每次安装依赖后自动补全可能缺失的目录,避免启动时报错:
    "scripts": {
      "postinstall": "mkdir -p node_modules/@react-native/assets node_modules/@react-navigation/elements/src/assets"
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:39:26