纱线缓存占用大量空间

Posted

技术标签:

【中文标题】纱线缓存占用大量空间【英文标题】:Yarn cache takes a lot of space 【发布时间】:2019-03-28 00:35:47 【问题描述】:

几分钟前,当我发现位于/Users/user/Library/Caches/Yarn 的 Yarn 缓存占用了超过 50GB 的磁盘空间时,我感到很震惊。 有没有搞错?为什么我的计算机上存在这个宇宙中所有现有的包? 我很高兴 Yarn 宣称自己是超快的,但为了补偿我吃掉那么多磁盘空间,我不再是粉丝了。现在我什至明白为什么yarn cache clean 需要数年才能完成它的工作。

Yarn 是否缓存特定包的所有版本? Yarn 开发团队是否有计划实施某种警告,表明缓存占用了大量空间并且可以清除?

【问题讨论】:

纱线回购中的相关问题here。 【参考方案1】:

Yarn 网站是这样说的:-

Yarn stores every package in a global cache in your user directory on the file system. 
    您可以使用yarn cache list,它会打印出每个缓存的包。以防万一您想通过。 您可以使用yarn cache clean,它会清理缓存(请注意,这是一个耗时的过程,并且考虑到您的缓存大小,这将是永远的!) 您可以使用yarn cache dir,它会显示它存储缓存的路径!您知道下一步该做什么,使用rm -rf yarn-cache-dir 这将释放您的空间并清除所有缓存。

请注意,您的纱线缓存目录通常可以在 ~/.cache/yarn/ 找到。在我的系统中,缓存存储在~/.cache/yarn/v6/

更新:- 建议使用最新版本的纱线。

【讨论】:

从哪里更新?这有纱线问题吗? github.com/yarnpkg/yarn/issues/6037 仍然打开

以上是关于纱线缓存占用大量空间的主要内容,如果未能解决你的问题,请参考以下文章

清理纱线测试缓存

如何在 GitHub Actions 中缓存纱线包

构建容器时如何制作纱线缓存模块?

uniapp获取app占用空间

我们可以在 github 操作中缓存纱线全局变量吗

已解决Linux中buff/cache(磁盘写/读缓存)占用大量内存导致用户进程内存不足