安装React Native Reanimated 2.3.0-beta后启动报错无法解析./Hooks模块
问题根因
该报错是react-native-reanimated 2.3.0-beta.2测试版本的已知缺陷:该版本内hooks相关逻辑的实际文件名是小写的hook.ts,但部分内部导出语句错误引用了大写的./Hooks路径,在大小写敏感的文件系统(如Linux、开启大小写区分的macOS APFS分区)下会触发模块找不到的报错。部分情况下也可能是Metro缓存残留导致路径匹配异常。
解决方案
方案1:重置Metro缓存(优先尝试,操作成本最低)
关闭当前运行的Metro服务,执行以下命令重启服务并重置缓存,之后重新编译运行应用即可:npx react-native start --reset-cache方案2:切换为稳定版Reanimated(从根源规避测试版本缺陷)
2.3.0正式版及之后的稳定版本已修复该问题,直接替换版本即可:- 卸载当前beta版本:
# 使用yarn的场景 yarn remove react-native-reanimated # 使用npm的场景 npm uninstall react-native-reanimated - 安装2.3.x分支的稳定版本:
# 使用yarn的场景 yarn add react-native-reanimated@~2.3.0 # 使用npm的场景 npm install react-native-reanimated@~2.3.0 - 重置Metro缓存后重新启动应用。
- 卸载当前beta版本:
方案3:临时修复当前beta版本(仅适用于必须使用该测试版本的场景)
- 打开项目路径下的
node_modules/react-native-reanimated/src/reanimated2/index.ts文件 - 将文件中引用
./Hooks的导出语句修改为./hook,保持和实际文件名一致 - 保存文件后重置Metro缓存重启应用即可。如果需要持久化这个修改,可以配合
patch-package工具生成补丁,避免重新安装依赖后修改丢失。
- 打开项目路径下的
内容的提问来源于stack exchange,提问作者Septe Shetia
相关产品推荐
相关产品推荐

