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

React Native构建react-native-reanimated遇CMake路径过长错误求助

Windows下构建react-native-reanimated遇CMake路径过长问题的解决方案

针对你遇到的ninja: error: mkdir(...) No such file or directory路径过长报错,以下是几个切实可行的解决办法:

1. 启用Windows系统的长路径支持

Windows默认限制路径长度为260字符,开启长路径支持可从根本上解决问题:

  • 组策略方式:打开「本地组策略编辑器」(运行gpedit.msc),依次展开「计算机配置」>「管理模板」>「系统」>「文件系统」,找到「启用Win32长路径」并设置为「已启用」,重启电脑生效。
  • 注册表方式:打开注册表编辑器(运行regedit),定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,找到LongPathsEnabled项(无则新建DWORD(32位)值),将数值改为1,重启电脑生效。

2. 自定义CMake构建目录缩短路径

修改项目的android/build.gradle文件,给react-native-reanimated模块指定更短的CMake构建临时目录:

subprojects {
    if (name == 'react-native-reanimated') {
        afterEvaluate {
            tasks.withType(com.android.build.gradle.tasks.CmakeExternalNativeBuildTask) {
                // 将构建目录设置为项目根目录下的.tmp文件夹,大幅缩短路径
                arguments.add("-DCMAKE_BUILD_DIR=${rootProject.projectDir}/.tmp/reanimated-build")
            }
        }
    }
}

添加后执行./gradlew clean,再重新尝试构建。

3. 用符号链接缩短node_modules路径

将项目的node_modules移到磁盘根目录(比如C:\nm),然后在项目目录下创建符号链接指向它:

# 先删除原项目下的node_modules,再执行以下命令
mklink /D C:\StockItUp\node_modules C:\nm

依赖文件实际存储在短路径下,项目中的node_modules仅为链接,避免深层嵌套的长路径问题。

4. 降级react-native-reanimated版本

部分新版本的reanimated在Windows路径处理上可能存在兼容性问题,尝试降级到3.10.x或3.12.x这类稳定版本:

  1. 修改package.json中react-native-reanimated的版本号,比如"react-native-reanimated": "3.10.1"
  2. 删除node_modules和package-lock.json(或yarn.lock)
  3. 重新执行npm install(或yarn install)
  4. 执行./gradlew clean后重新构建

内容的提问来源于stack exchange,提问作者Joris Ricard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:33:15