将React Native 0.61.5升级至0.68.2时遇CMake缺失报错求助
错误详情
升级过程中构建 Android 应用时触发如下错误,核心问题是 react-native-reanimated 构建时找不到指定版本的 CMake:
配置项目:react-native-reanimated
Native libs debug enabled: false
Android gradle plugin: 7.0.4
Gradle: 7.3.3
building Reanimated2
本次构建使用了已弃用的Gradle特性,与Gradle 8.0不兼容。
您可以使用--warning-mode all查看具体弃用警告,判断其来源是您的脚本还是插件。
6个可执行任务: 6个已是最新状态[CXX1300] 未在SDK、PATH或cmake.dir属性中找到CMake '3.18.1'。[CXX1300] 未在SDK、PATH或cmake.dir属性中找到CMake '3.18.1'。
构建失败,出现异常。
- 错误原因:
配置项目:react-native-reanimated时出现问题。
com.android.builder.errors.EvalIssueException: [CXX1300] 未在SDK、PATH或cmake.dir属性中找到CMake '3.18.1'。
- 建议操作:
使用
--stacktrace选项获取堆栈跟踪。
使用--info或--debug选项获取更多日志输出。
使用--scan选项获取完整分析信息。
构建耗时49秒,失败。
error 应用安装失败。请确保已正确配置Android开发环境: 命令执行失败: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
对应的堆栈追踪:
at makeError (E:\reactnativeproject\upgradedapp\node_modules\execa\index.js:174:9) at E:\reactnativeproject\upgradedapp\node_modules\execa\index.js:278:16 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async runOnAllDevices (E:\reactnativeproject\upgradedapp\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5) at async Command.handleAction (E:\reactnativeproject\upgradedapp\node_modules\@react-native-community\cli\build\index.js:192:9)
解决方法
1. 安装指定版本的 CMake 3.18.1
通过 Android Studio 的 SDK Manager 安装:
- 打开 Android Studio → 进入
Settings(Windows/Linux)或Preferences(Mac) - 找到
Appearance & Behavior → System Settings → Android SDK - 切换到
SDK Tools标签,勾选Show Package Details - 找到
CMake,展开后选择3.18.1版本,点击Apply完成安装
2. 配置环境变量或指定 CMake 路径
如果安装后仍报错,可手动指定 CMake 路径:
- 方式一:配置系统环境变量
将 CMake 安装路径(通常是SDK/cmake/3.18.1/bin)添加到系统PATH环境变量中,重启终端后重试构建。 - 方式二:在项目中指定路径
在项目的android/build.gradle文件中添加以下配置,替换为你的实际 CMake 路径:
或者在buildscript { ext { cmakePath = "/path/to/sdk/cmake/3.18.1/bin/cmake" } }android/app/build.gradle的android块内添加:android { ... externalNativeBuild { cmake { path "CMakeLists.txt" version "3.18.1" } } }
3. 确认 react-native-reanimated 版本兼容性
RN 0.68.2 需要搭配兼容版本的 react-native-reanimated,建议升级到 2.x 系列的稳定版本(比如 2.9.1),执行命令:
npm install react-native-reanimated@2.9.1 --save
安装后记得执行 cd android && ./gradlew clean 清理缓存,再重新构建。
4. 清理 Gradle 缓存
执行以下命令清理本地 Gradle 缓存,避免旧依赖干扰:
cd android ./gradlew clean ./gradlew cleanBuildCache
内容的提问来源于stack exchange,提问作者ramazanerdogan

