Как рассчитать размер всех узлов node_modules, установленных на macOS? - PullRequest
0 голосов
/ 15 января 2019

Я ищу простую команду для запуска расчета размера всех глобальных модулей node_module (не тех, которые находятся в проектах)

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Мне тоже было любопытно. Эта команда должна работать:

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, такие как site/node_modules/some-lib/node_modules.

  2. Нам нужен только первый node_modules, поэтому обратный grep grep -v node_modules.*node_modules удаляет каждый соответствующий путь, содержащий более одного node_modules.

  3. Команда tr '\n' '\0' предназначена только для того, чтобы следующая команда xargs не давила имена файлов пробелами или специальными символами. Это заменяет нормальный возврат строки \n на символы ASCII NUL \0.

  4. Наконец, xargs -0 du -sch собирает все в список аргументов и передает результат в du -sch, который сообщает об использовании диска для каждой записи и совокупной сумме с использованием "удобочитаемого" вывода.

Я обнаружил чуть более 6 ГБ разных каталогов node_modules в папке моих проектов.

0 голосов
/ 15 января 2019

, если вы используете nvm:

find ~ / .nvm -type d -name 'node_modules' | xargs du -csh | grep total

Вы можете изменить команду поиска, если вы не используете nvm или хотите включить проекты. Если вы хотите узнать, где находятся глобальные модули node_modules, запустите npm list -g, и он сообщит вам, где находятся пакеты.

...