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

如何清除及禁用NX远程缓存?本地缓存清除后仍生效问题

解决NX远程缓存导致dist目录为空的问题

一、NX远程缓存的本质

你清理本地缓存(npm cache clean --force或nx reset)没用,核心原因是NX的远程缓存会把构建结果存到远程服务器(比如Nx Cloud或自定义存储服务),本地缓存清空后,它还是会直接从远程拉取缓存结果,跳过实际构建步骤,自然dist目录依旧是空的。

二、禁用远程缓存的几种方式

1. 单次强制构建(临时禁用)

直接在NX命令后加参数跳过缓存:

nx run build --skip-nx-cache

如果习惯用npm脚本调用,注意必须用npm run build而非npm build(npm build是npm内置命令,不对应你项目里的自定义构建脚本),正确传递参数的命令是:

npm run build -- --skip-nx-cache

2. 永久禁用远程缓存

修改项目根目录的nx.json配置文件:
找到tasksRunnerOptions下的default配置块,把远程缓存的runner替换为本地缓存runner:

{
  "tasksRunnerOptions": {
    "default": {
      "runner": "@nrwl/workspace/tasks-runners/default",
      "options": {
        "cacheableOperations": ["build", "test", "lint"]
      }
    }
  }
}

默认如果配置的是@nrwl/nx-cloud就是远程缓存模式,换成上述本地runner后,NX只会使用本地缓存,不再调用远程存储。

3. 临时全局禁用(环境变量方式)

在终端设置环境变量,当前会话内生效:

# Linux/macOS
export NX_REMOTE_CACHE=false

# Windows(PowerShell)
$env:NX_REMOTE_CACHE = "false"

三、彻底清除远程缓存(如果需要清理旧结果)

如果要删掉远程缓存里的旧构建记录:

  • 用Nx Cloud的话,登录Nx Cloud控制台找到对应项目,手动清除缓存;
  • 用自定义远程存储(比如S3、阿里云OSS)的话,直接删除存储路径下的缓存文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:12:47