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

react-native start命令中--reset-cache参数的作用是什么?

React Native 中 --reset-cache 参数的具体用途

React Native 在开发过程中会生成各类缓存文件,目的是加快打包、构建和热重载的速度。--reset-cache 参数的核心作用就是强制清空这些缓存,解决因缓存过期、冲突或损坏引发的各种开发问题。

它会清理哪些缓存?

  • Metro 打包器缓存:Metro是React Native默认的JS打包工具,会缓存已编译的模块、依赖解析结果。当你更新依赖版本、修改模块结构或调整Metro配置后,旧缓存可能导致新代码不生效,这个参数会让Metro彻底重新解析所有模块。
  • Babel 编译缓存:Babel处理JS/TS代码时生成的缓存文件,如果你改了Babel的插件、预设或者语法规则,旧缓存可能让代码编译不符合预期,--reset-cache会强制Babel重新编译所有代码。
  • 原生端关联缓存:在iOS/Android原生构建环节,部分关联缓存(比如iOS的Derived Data、Android的部分Build缓存)也会被清理,解决原生代码修改后构建产物不更新的问题。

什么时候需要用它?

  • 安装新依赖或升级依赖后,出现模块找不到、版本不匹配的错误
  • 修改Babel、Metro配置文件后,配置完全没生效
  • 热重载后代码变更不生效,或者出现莫名其妙的运行时错误
  • 原生代码(iOS/Android)修改后,构建出来的产物还是旧代码
  • 应用出现无明确原因的崩溃、白屏或异常行为

注意事项

  • 用这个参数会让首次构建时间变长,因为所有缓存都要重新生成,所以别每次启动项目都加,只在遇到缓存相关问题时用就行。
  • 你也可以手动清理缓存替代这个参数:
    • 删除项目根目录的 .metro-cache 文件夹
    • iOS:在Xcode里删除Derived Data
    • Android:在项目的android目录下执行 ./gradlew clean 命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:25:17