如何计算macOS上安装的所有node_modules的大小?

时间:2019-01-15 04:31:30

标签: node.js npm npm-install

我正在寻找一个简单的命令来运行计算全局安装的所有node_modules(而不是位于项目中的那些)的大小

3 个答案:

答案 0 :(得分:0)

如果您使用的是nvm:

找到〜/ .nvm -type d -name'node_modules'| xargs du -csh | grep total

如果您不使用nvm,或者您也想包含项目,则可以更改find​​命令。如果要查找全局node_modules的位置,请运行npm list -g,它将告诉您软件包的位置。

答案 1 :(得分:0)

我对此也很好奇。此命令应该起作用:

find . -type d -name node_modules |  grep -v node_modules.*node_modules | tr '\n' '\0' |  xargs -0 du -sch

快速说明:

  1. 第一部分很容易,find . -type d -name node_modules查找当前目录-type d下每个名为node_modules的目录.,但是,它还包括嵌套的node_modules目录,例如{ {1}}。

  2. 我们只想要第一个site/node_modules/some-lib/node_modules,因此反grep node_modules会去除每个包含多个grep -v node_modules.*node_modules的匹配路径。

  3. 仅在此处使用node_modules命令,以防止后面的tr '\n' '\0'命令阻塞带有空格或特殊字符的文件名。这将正常的行返回xargs替换为ASCII NUL \n字符。

  4. 最后,\0将所有内容收集到参数列表中,并将结果传递到xargs -0 du -sch,该结果将报告每个条目的磁盘使用情况,并使用“人类可读”的输出来累加总数。

我在项目文件夹中发现了超过6 GB的du -sch什锦目录。

答案 2 :(得分:0)

我使用此命令find . -name "node_modules" -type d -prune -print | xargs du -chs