Poprawa zaakceptowanej odpowiedzi,
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Zauważyłem, że polecenie działałoby bardzo długo, aby pobrać wszystkie foldery, a następnie uruchomić polecenie usuwania, aby polecenie można było wznowić, sugerowałbym użycie \;i sprawdzenie postępu wykonywanego polecenia, -printaby zobaczyć usuwany katalog.
Uwaga: Najpierw musisz przejść cddo katalogu głównego, a następnie uruchomić polecenie lub zamiast find .używaćfind {project_directory}
Aby usunąć foldery jeden po drugim
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
Usuwanie folderów jeden po drugim i drukowanie usuwanego folderu
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Edytować:
Dla osób, które lubią interaktywny sposób, zapoznaj się z odpowiedzią @jeckep, uruchom ją w katalogu, który chcesz przyciąć.
npx npkill
-pruneto ważna optymalizacja. W przypadku stwierdzenia, że nie będzie powtarzać się wnode_modulekatalogach (szukać zagnieżdżonych modułów node_modules)