内部一个 Walle 打包的服务器.
该目录是存放 yarn 打包用的 node_modules
缓存文件.
最近我注意到该目录占用一直缓慢的增长 , 觉得有点不正常.
直到我在 node_modules
这个目录内外都使用了 du -csh *
这个命令 , 发现结果如下.
# du -csh *
...
...
2K yallist
624K yaml
528K yargs
148K yargs-parser
76K yauzl
220K yorkie
208K zip-stream
16K zwitch
336M total
# cd ..
# du -csh *
3.0G node_modules
3.0G total
这也太夸张了... 然后我就看到了这个
# ls
node_modules
# du -cah --apparent-size -l -L *
......
......
98K node_modules/vm2/lib
148 node_modules/vm2/.editorconfig
8 node_modules/vm2/.eslintignore
287 node_modules/vm2/.eslintrc.js
4.4K node_modules/vm2/CHANGELOG.md
1.1K node_modules/vm2/LICENSE.md
15K node_modules/vm2/README.md
7.4K node_modules/vm2/index.d.ts
157 node_modules/vm2/index.js
746 node_modules/vm2/package.json
127K node_modules/vm2
424K node_modules/.yarn-integrity
2.7G node_modules
2.7G total
这是 node_modules 这个目录本身 , 占用了 2.7GB 吗? 这不合理吧?
我反复思索了好一会 , 也没想明白这是为啥...
Walle 打包工具我是使用 docker-compose 启动的.
npm / jdk 以及打包目录什么的 , 我是使用 volumes 映射进容器内的.
yarn 打包之前我会通过 ln -s 把这个目录软链接到打包目录 , 打包完成后则会删除打包目录.
遂怀疑是不是磁盘空间被 docker 占用 , 但是 lsof 看了看 , 也没有. 也许我应该重启一下 docker 服务?
之前我 yarn install 的时候指定了一个 cache-folder , 并没有发生过这个问题.
但是我觉得打包太慢 , 想改进一下 , 所以把 node_modules 这个目录做了个软链接过来 , 想着应该能避免复制 node_modules 这个过程...
速度没见怎么快 , 倒是磁盘占用还出了点问题... 真尴尬...
来 V2EX 求高人指点一下
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.