[bash] 명령 줄을 사용하여 지정된 경로에서 node_modules 폴더를 재귀 적으로 삭제

로컬 디렉토리에 여러 npm 프로젝트가 저장되어 있습니다. 이제는 node_modules많은 공간을 차지하고을 사용하여 언제든지 검색 할 수 있으므로 폴더 없이 내 프로젝트를 백업하고 싶습니다 npm install.

따라서 명령 줄 인터페이스를 사용하여 지정된 경로에서 모든 node_modules 폴더를 재귀 적으로 삭제하는 솔루션이 필요합니다. 모든 제안 / 도움은 매우 감사합니다.



답변

삭제할 디렉토리 목록을 인쇄합니다.

find . -name 'node_modules' -type d -prune

현재 작업 디렉토리에서 디렉토리 삭제 :

find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +

또는 단계적 삭제를 위해 휴지통 ( brew install trash)을 사용할 수 있습니다 .

find . -name node_modules -type d -prune -exec trash {} +


답변

수용된 답변을 개선하고,

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


답변

https://github.com/voidcosmos/npkill 시도

npx npkill

모든 node_modules를 찾아서 제거 할 수 있습니다.

npkill


답변

이 솔루션을 발견했습니다.

  • 먼저 사용하여 폴더를 찾고 폴더 find이름을 지정하십시오.
  • 재귀 적으로 삭제 명령 실행 -exec rm -rf '{}' +

다음 명령을 실행하여 폴더를 재귀 적으로 삭제하십시오.

find /path -type d -name "node_modules" -exec rm -rf '{}' +


답변

bash제거하는 기능 node_modules. node_modules발견 된 경로를 인쇄하는 동안 현재 작업 디렉토리에서 모든 디렉토리를 재귀 적으로 제거합니다 .

당신은 당신의 어딘가에 넣어야합니다 $PATH

rmnodemodules(){

  find . -name 'node_modules' -type d -prune -exec echo '{}' \; -exec rm -rf {} \;

}


답변

이것은 정말 잘 작동합니다

find . -name "node_modules" -exec rm -rf '{}' +


답변