React Native应用GitHub Action构建遇Gradle路径读取错误求助
GitHub Action构建React Native应用时随机Gradle路径读取错误的解决办法
问题场景
在GitHub Action环境下构建包含原生Android库依赖的React Native应用时,随机出现以下Gradle错误:
Could not read path '/home/runner/work/my-rn-app/my-rn-app/node_modules/@org/mobile-native-utils/android/build/kotlin/compileReleaseKotlin/caches-jvm/lookups'.
这类问题多由缓存冲突、文件权限异常或依赖版本兼容问题导致。
可行解决方案
1. 构建前强制清理缓存
在GitHub Action的构建流程中加入缓存清理步骤,彻底清除残留的旧缓存文件:
# 清理项目依赖文件 rm -rf node_modules package-lock.json yarn.lock # 清理Android端Gradle构建产物 cd android && ./gradlew clean && cd .. # 重新安装依赖 npm install
将这些命令作为构建前的前置步骤,避免旧缓存干扰新构建流程。
2. 禁用Kotlin编译缓存
针对出问题的原生库,临时关闭Kotlin编译缓存,跳过易出错的缓存文件读取环节:
找到node_modules/@org/mobile-native-utils/android/build.gradle文件,添加如下配置:
kotlin { compilerOptions { freeCompilerArgs.add("-Xno-cache") } }
如果不想修改依赖库代码,也可以在项目根目录的Android build.gradle中全局覆盖该配置。
3. 优化Gradle缓存规则
调整GitHub Action的Gradle缓存策略,排除容易出问题的路径:
- name: Cache Gradle resources uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper !~/.gradle/caches/**/caches-jvm/lookups key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle-
4. 同步升级依赖版本
这个问题可能源于Kotlin插件、Gradle版本不兼容:
- 将React Native升级至官方稳定版本
- 确保项目与
@org/mobile-native-utils库使用相同版本的Kotlin Gradle插件 - 更新Android目录下
gradle-wrapper.properties中的Gradle版本至对应兼容版本
内容的提问来源于stack exchange,提问作者jay shah
相关产品推荐
相关产品推荐

