如何在纱线中清除缓存?

nik*_*ohn 228 javascript dependency-management npm yarnpkg

我正在为Facebook的纱线做一些基准测试.为此,我需要清除我的全局Yarn缓存.

有没有可用的命令?我已经强行删除了我的~/.yarn-cache文件夹,但这似乎是非常手动的.

nik*_*ohn 383

好的,我自己找到了答案.很像npm cache clean,Yarn也有自己的

yarn cache clean
Run Code Online (Sandbox Code Playgroud)

  • 万一其他人错过了这个,一定要从运行 yarn 的用户帐户运行它。就我而言,我试图使用与我们的项目构建的 Windows 帐户不同的 Windows 帐户清理持续集成服务器,直到我意识到我需要从该帐户运行它时,它才删除文件。 (8认同)

小智 103

只要运行yarn cache clean.


yarn help cache 在你的bash中运行,你会看到:

用法:纱线缓存[ls | clean] [flags]

选项:-h, - help 输出用法信息-V, - version输出版本号--offline
--prefer-offline
--strict-semver
--json
--global-folder [path]
--modules-folder [path]而不是将模块安装到相对于cwd的node_modules文件夹中,在这里输出它们
--packages-root [path]而不是将模块存储到全局包root中,将它们存储在这里
--mutex [type] [:specifier]使用互斥锁确保只执行一个纱线实例

有关此命令的文档,请访问http://yarnpkg.com/en/docs/cli/cache.

  • 这是@nikjohn的答案 (12认同)
  • @LeoCaseiro 这就是所谓的“竞争条件”XD (8认同)
  • @EliavLouski `yarn cache clean package-name` 有关详细信息,请参阅文档:https://classic.yarnpkg.com/en/docs/cli/cache#toc-yarn-cache-clean (尽管 Yarn 2 的文档中缺少它) ,但希望它仍然受到支持)。 (2认同)

Kha*_*edP 63

另请注意,缓存目录位于~/.yarn-cache/:

yarn cache clean:清理该目录

yarn cache list:显示缓存的依赖项列表

yarn cache dir:打印出缓存目录的路径

  • 它并不总是在`~/.yarn-cache/`中 (8认同)
  • 在我的 Mac 上,缓存目录是“~/Library/Caches/Yarn/v6”,由“yarn cache dir”命令报告。 (2认同)

Dan*_*.K. 18

除了答案之外,还$ yarn cache clean从缓存中删除所有库.如果要删除特定的lib缓存运行$ yarn cache dir以获取适用于您的操作系统的正确的纱线缓存目录路径,则$ cd转到该目录并删除包含要清理的lib 的name+ 的文件夹version.