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

Jenkins执行NX构建报错TypeError: fs.rm is not a function求助

解决Jenkins中NX构建后fs.rm无法识别的问题

问题原因

fs.rm是Node.js 14.14.0及以上版本才支持的API,你的Jenkins服务器上Node.js版本低于这个要求,或者Jenkins环境使用的NX版本和本地不一致(高版本NX可能依赖新Node API),导致构建完成后NX调用该方法时出错。

解决办法

方法1:跳过清理步骤(快速临时解决)

直接在构建命令里添加--no-clean参数,跳过NX构建后的清理操作,这样就不会触发fs.rm的调用:

sh "npx nx affected --base=HEAD~1 --target=build --parallel=3 --verbose --no-clean"

或者也可以在项目的project.json(或workspace.json)里修改build目标的配置,把clean选项设为false:

"targets": {
  "build": {
    "executor": "@nrwl/web:webpack", // 你的executor可能不同,按实际情况调整
    "options": {
      "clean": false,
      // 其他原有配置...
    }
  }
}

方法2:升级Jenkins的Node.js版本(根本解决)

  1. 先在Jenkins脚本里检查当前Node版本:
sh "node -v"
  1. 如果版本低于14.14.0,升级到Node.js LTS版本(比如18.x或20.x)。可以通过Jenkins的NodeJS插件管理多版本Node,给你的构建任务指定符合要求的Node版本。

方法3:统一NX版本

检查Jenkins环境和本地的NX版本是否一致:

# 本地执行
npx nx -v
# Jenkins脚本里执行
sh "npx nx -v"

如果版本不一致,建议在项目的package.json里锁定NX的版本,然后Jenkins构建时先执行npm install(或yarn install)安装本地依赖,再执行构建命令,避免npx拉取不兼容的NX版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:11:13