React Native应用需指定CMake版本运行却报版本无效错误
解决React Native项目CMake版本报错的方案
1. 拉取指定版本的CMake源码
应用要求的3.18.1-g262b901是带git commit哈希的特定版本,不是官方标准发布包,需要从CMake源码仓库拉取对应commit:
- 克隆CMake源码仓库,切换到
g262b901这个commit:git clone https://github.com/Kitware/CMake.git cd CMake git checkout g262b901
2. 编译安装干净版本
确保源码目录没有未提交修改(如果有,执行git reset --hard重置),然后编译安装:
- 创建编译目录并进入:
mkdir build && cd build - 配置安装路径(示例路径可根据需求修改):
../bootstrap --prefix=/usr/local/cmake-3.18.1-g262b901 - 编译并安装:
make -j$(nproc) sudo make install
3. 让项目指向这个版本
- 修改项目配置:找到Android端的
build.gradle文件,指定CMake的路径为你刚安装的目录,比如:android { externalNativeBuild { cmake { path "CMakeLists.txt" version "/usr/local/cmake-3.18.1-g262b901/bin/cmake" } } } - 或者临时通过环境变量指定:
再启动React Native项目。export PATH=/usr/local/cmake-3.18.1-g262b901/bin:$PATH
4. 消除"-dirty"标记
如果仍出现-dirty错误,说明CMake源码目录有未提交改动:
- 执行
git status检查未提交文件,要么提交要么用git reset --hard重置到干净状态,重新编译安装。
内容的提问来源于stack exchange,提问作者Diaruys
相关产品推荐
相关产品推荐

