Улучшение принятого ответа,
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Я обнаружил, что команда будет работать очень долго, чтобы получить все папки, а затем запустить команду удаления, чтобы сделать команду возобновляемой, которую я предлагаю использовать, \;и чтобы увидеть ход выполнения команды, используйте, -printчтобы увидеть удаляемый каталог.
Примечание: вы должны сначала cdвойти в корневой каталог, а затем запустить команду или вместо find .использованияfind {project_directory}
Чтобы удалить папки по одной
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
Удаление папок по одной и печать удаляемой папки
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Редактировать:
Для людей, которым нравится интерактивный способ сделать это, обратитесь к ответу @jeckep, запустите его в каталоге, который вы хотите удалить.
npx npkill
-pruneэто важная оптимизация. Будет обнаружено, что не нужно рекурсивно переходить вnode_moduleкаталоги (искать вложенные модули node_modules)