로컬 디렉토리에 여러 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
답변
답변
이 솔루션을 발견했습니다.
- 먼저 사용하여 폴더를 찾고 폴더
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 '{}' +