如何清除笑话缓存?

Jest拾起一个包的旧版本,因此我的测试失败,除非我使用--no-cache。我甚至可以从文件夹node_modules中删除包文件夹,Jest很乐意运行测试(几乎所有测试都通过)。

那么如何清除Jest缓存呢?

199794 次浏览

你可以通过运行jest --showConfig找到缓存位置。寻找cacheDirectory键。它的值是您需要删除的文件夹的名称。

从Jest 22.0.0+开始,你可以使用--clearCache选项:

删除Jest缓存目录,然后退出而不运行测试。如果该选项被传递,将删除cacheDirectory,或者Jest的默认缓存目录。

运行:

jest --clearCache

在你的Node.js项目中的如果已将Jest作为依赖项安装jest命令不起作用,只需在你的package.json文件中创建一个新脚本。

{
...
"scripts:" {
"clear_jest": "jest --clearCache"
}
...
}

然后,在你的终端上运行:

npm run clear_jest

使用现代NPM,你也可以运行 (credit to johny):

npx jest --clearCache

首先,你需要知道笑话的版本:

yarn jest --version

笑话>= 22.0.0

yarn jest --clearCache

Jest & lt;22.0.0

yarn jest --showConfig | grep cacheDir

返回(您需要删除该文件夹)

      "cacheDirectory": "/tmp/jest_rs",

然后,你把它取出来

rm -rf /tmp/jest_rs

如果不使用,则使用npx jest执行指令。

如果使用nx monorepo,执行以下命令清除缓存

nx test <packageName> --clearCache