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

RN项目首次执行gradlew clean时Task clean失败,第二次成功是什么原因?

问题根因

导致首次执行gradlew clean报错> Task :@kyivstarteam_react-native-sms-user-consent:clean FAILED、第二次执行正常的核心原因有三类:

  • 第三方库构建脚本配置缺陷:@kyivstarteam/react-native-sms-user-consent的原生模块Gradle脚本存在逻辑疏漏,首次clean时会尝试读取还未生成的构建产物属性、或者依赖未执行的初始化task的输出,路径不存在直接触发执行失败;首次运行失败的过程中,脚本的初始化逻辑已经完成了路径创建/属性赋值,第二次执行时就能正常执行删除逻辑。
  • Gradle文件锁残留:上一次构建退出异常时,会在该库的build目录下留下临时文件锁,首次clean时无法删除被锁定的目录,执行失败后Gradle会自动释放所有残留的进程锁,第二次执行就可以正常清理目录。
  • RN依赖索引未初始化:首次执行clean命令时,Gradle还未完成对node_modules下原生依赖的路径索引,无法定位到该库的build目录真实路径,第一次执行过程中索引已经生成,第二次就可以正常定位执行清理。
不良影响说明

该问题绝大多数场景下不会产生实质危害:

  • 本地开发场景下,第二次clean成功后已经完成了所有构建缓存的清理,不会残留无效文件,也不会影响后续的调试、打包流程。
  • 只有在无失败重试配置的CI/CD流水线中,会导致自动构建任务中断,给clean步骤增加1次失败重试配置即可完全规避。
  • 如果后续出现多次执行clean都失败的情况,说明该库版本存在更严重的构建逻辑bug,可以尝试升级库版本或者替换同功能的其他原生依赖解决。

内容的提问来源于stack exchange,提问作者Mohsen Zia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:06:03