【发布时间】:2017-12-05 15:01:17
【问题描述】:
Jest 正在使用旧版本的包,因此除非我使用 --no-cache,否则我的测试会失败。我什至可以从文件夹 node_modules 中删除包文件夹,Jest 很乐意运行测试(几乎所有测试都通过了)。
那么如何清除 Jest 缓存呢?
【问题讨论】:
标签: jestjs
Jest 正在使用旧版本的包,因此除非我使用 --no-cache,否则我的测试会失败。我什至可以从文件夹 node_modules 中删除包文件夹,Jest 很乐意运行测试(几乎所有测试都通过了)。
那么如何清除 Jest 缓存呢?
【问题讨论】:
标签: jestjs
从 Jest 22.0.0+ 开始,您可以使用 --clearCache 选项:
删除 Jest 缓存目录,然后退出而不运行测试。如果选项被传递,将删除cacheDirectory,或者Jest的默认缓存目录。
【讨论】:
只需运行:
如果您在 Node.js 项目中安装了 Jest 作为依赖项,并且 jest 命令不起作用,只需在 package.json 文件中创建一个新脚本即可。
{
...
"scripts:" {
"clear_jest": "jest --clearCache"
}
...
}
然后,在您的终端中运行:
npm run clear_jest
借助现代 NPM,您还可以运行 (感谢 johny):
npx jest --clearCache
【讨论】:
npx jest --clearCache
npm run test -- --clearCache 将传递 clearCache 标志。
您可以通过运行jest --showConfig 找到缓存位置。查找cacheDirectory 键。它的值是您需要删除的文件夹的名称。
【讨论】:
首先,你需要知道 Jest 版本:
yarn jest --version
笑话 >= 22.0.0
yarn jest --clearCache
开玩笑
yarn jest --showConfig | grep cacheDir
返回(您需要删除该文件夹)
"cacheDirectory": "/tmp/jest_rs",
然后,你删除它
rm -rf /tmp/jest_rs
如果您不使用Yarn,请使用npx jest 进行说明。
【讨论】: