React Native 0.71.7安装react-native-dotenv后Cmake-reanimated报错求助
React Native 0.71.7 构建报错 CXX1405 问题排查与解决
为啥会这样?
你安装react-native-dotenv后触发了隐藏的依赖冲突——react-native-reanimated@3.0.2内部的Native模块其实需要Cmake 3.19+的编译特性,之前没报错是因为构建流程没走到需要检查这部分的分支。而dotenv的安装可能修改了构建脚本的环境变量解析逻辑,或者改变了依赖编译顺序,把这个隐藏的Cmake版本要求给暴露出来了,于是就抛出CXX1405错误。
怎么解决?
方案1:升级Cmake到3.19+(保留reanimated 3.x)
- 打开项目里的
android/build.gradle文件 - 在
buildscript的ext块里指定Cmake版本:buildscript { ext { // 其他配置不动,添加这行 cmakeVersion = "3.19.6" } // ... 剩下的内容保持不变 } - 同步Android项目后重新执行
npm run android
方案2:调整dotenv配置,不干扰Native构建流程
- 检查
babel.config.js里的dotenv配置,确保只在JS层注入变量,别影响Native构建:module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: [ ['module:react-native-dotenv', { moduleName: '@env', path: '.env', allowUndefined: true }] ] }; - 要是你在Android的
build.gradle里加过dotenv相关的Native配置,直接删掉就行,dotenv本来就不需要修改Native层
方案3:继续使用reanimated 2.14.4(已验证可行)
如果不想折腾Cmake或配置,就保持当前降级后的版本,同时确保dotenv只在JS层配置,避免后续再触发冲突。
补充说明
reanimated 3.x对Native构建环境的要求比2.x严格很多,Cmake版本是硬要求之一。之前没报错纯属构建缓存或编译路径没触发检查,dotenv只是刚好把这个隐藏问题揪出来了而已。
内容的提问来源于stack exchange,提问作者Gth6
相关产品推荐
相关产品推荐

