node_modules를 삭제하는 방법-Windows에서 깊은 중첩 폴더


229

다음에 의해 작성된 node_modules 디렉토리 를 제거하려고 할 때 npm install:

소스 파일 이름이 파일 시스템이 지원하는 것보다 큽니다. 경로 이름이 더 짧은 위치로 이동하거나이 작업을 시도하기 전에 더 짧은 이름으로 이름을 바꾸십시오.

나는 또한 shift+ 를 시도했지만 delete여전히 같은 문제가 있습니다.


try renaming to shorter name(s) before attempting this operation
SLaks

3
귀하의 제안에 감사드립니다, @SLaks! 나도 시도했지만 언급했지만 파일과 디렉토리는 많고 깊습니다 .C : \ Users \ my_user_name \ projs \ backend \ node_modules \ imagemin \ node_modules \ imagemin-optipng \ node_modules \ optipng-bin \ node_modules \ bin-wrapper \ node_modules \ bin-check \ node_modules \ executable \ node_modules \ meow \ node_modules \ camelcase-keys \ node_modules \ ... 계속됩니다. 파일 이름을 수동으로 바꾸는 것은 실용적이지
않으며

1
Webstorm은 모두 삭제할 수 있습니다.
ozzimpact

Long Path Fixer 도구를 사용하여이 ".meteor"폴더를 성공적으로 제거했습니다. ( long-path-fixer.en.softonic.com )
Vu Doan

RUN은 DELETE, rimraf node_modules을 실행 rimraf -g를 설치 NPM, INSTALL
Jinna Balu에게

답변:


437

이것이 최고의 Google 결과이기 때문에 이것이 나를 위해 일한 것입니다.

RimRaf 설치 :

npm install rimraf -g

그리고 프로젝트 폴더에서 다음을 사용하여 node_modules 폴더를 삭제하십시오.

rimraf node_modules

재귀 적으로 삭제하려면 다음을 수행하십시오.

rimraf .\**\node_modules

[ http://www.nikola-breznjak.com/blog/nodejs/how-to-delete-node_modules-folder-on-windows-machine/ ]


"오류 : ENOTEMPTY, 디렉토리가 비어 있지 않습니다." 공급 된 링크가 작동하지 않습니다!
olefrank

7
저는 블로그 게시물의 저자입니다. @olefrank : 이것은 node_modules뿐만 아니라 전체 폴더를 삭제하려고 할 때와 탐색기 창에서 폴더를 연 경우에도 발생합니다. usagidon, 원본 소스를 연결해 주셔서 감사합니다.
Nikola

2
NodeJS가 없거나 NodeJS의 전역 모듈을 제거한 후 삭제하려고하면 유용하지 않습니다 (그래서 robocopy를 사용해야했습니다)
Zorgatone

1
질문에 좀 더 구체적으로 설명하기 위해 여기에 2 센트를 추가하겠습니다. 다음과 같이 모든 node_modules 폴더를 재귀 적으로 (글 로빙 패턴을 사용하여) 삭제할 수 있습니다.rimraf .\**\node_modules
Artif3x

1
@ Artif3x의 commnent는 최상의 답변으로 표시되어야합니다! 재귀 적으로 삭제 팁 주셔서 감사합니다 :-)
Juan Stoppa

111

Winrar를 사용하여 간단하게 수행했지만 이상한 해결책처럼 보이지만 잘 작동합니다.

  • 우클릭 node_modules폴더를
  • 고르다 Add to archive ... 에서 .
  • Winrar 대화 상자가 열립니다
  • 옵션을 확인하십시오. delete files after archiving
  • 완료 후 node_modules.rar를 삭제하는 것을 잊지 마십시오.


[업데이트] 7Zip에서도 작동합니다



7
와우 이건 몰래! +1 robocopy를 사용하여 새로운 npm 또는 다른 것으로 수정되었습니다.
erp

1
@ChrisS 7Zip과 어떻게 작동합니까? 특히 GUI를 사용할 때!
bennos

4
2016 년 (특히 2018 년)에는 많은 파일을 삭제하기 위해 영리하지 않아도됩니다.
webelo

73

설치하지 않고 DOS 명령 만 사용하여 삭제하십시오.

C 또는 D 드라이브에 빈 폴더 "test"를 작성하고 다음 DOS 명령을 사용하십시오.

robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

위의 명령을 완료하면 폴더가 비어 있으므로 폴더를 삭제할 수 있습니다.

테스트 폴더는 항상 비어 있으므로 언제든지 삭제할 수 있습니다.


12
가장 좋은 대답은 아무것도 설치할 필요가 없기 때문입니다
luschn

1
rimraf를 시도하고 네트워크 폴더를 추가 한 후에 이것은 내가 찾은 가장 깨끗한 솔루션입니다. 이것을 공유해 주셔서 감사합니다.
danyim

1
훌륭한 해결책; 쉬운.
bob.mazzo

2
방금 약간의 추가를했습니다 > NUL. 방금 이것을 시도했을 때 콘솔에 의해 조절되고 15 분 이상 걸릴 것입니다. 리디렉션이 완료되면 약 2 분 후에 완료되었습니다.
Mike Caron

일부 JS 파일을 삭제하려면 또 다른 JS 라이브러리가 필요합니다.
linuxunil

30

Git Bash를 사용하여 폴더를 제거 할 수 있습니다.

예 : c : \ users \ olefrank \ projects \ mynodeproject

rm -rf / c / users / olefrank / projects / mynodeproject


9
이것은 Windows 7에서 작동하지 않았습니다. 디렉토리가 비어 있지 않음 오류
Miguel Stevens

5
디렉토리도 삭제하는 -d 플래그도 지정해야합니다.
Stuart.Sklinar

또는 -fR을 반복해서 맨 위로 올라가서 폴더도 삭제합니다.
Dan Kanze

@Karthiga -rf는 RM에게 삭제 작업을 수행하는 방법을 알려주는 플래그 / 옵션 / 매개 변수입니다. r하위 디렉토리로 재귀를 f말하고 강제로 삭제하라는 메시지를 표시합니다 (프롬프트하지 않음). -rf여러 플래그 / 옵션을 한 번에 지정하는 유닉스 규칙입니다.
팀 코커

20

폴더를 제거하기 위해 GitBash를 사용했습니다!

rm -r node_modules

모든 것을 삭제하는 데 시간이 걸렸지 만 나를 위해 일했습니다!


이것은 나를 위해 일했습니다. 나는 이전에 rimraf를 사용하고있었습니다. rimraf가 작동하지 않아서 시도했습니다.
Saiyaff Farouk

이것은 최고 의견이어야합니다. 단순히 무언가를 제거하기 위해 무언가를 설치하는 것 .. 아니면 그냥 입력하십시오RD node_modules
David MacNeil

15

Windows에서 node_modules와 같은 Deep Netsted Folder 삭제

  1. 옵션 1

    rimrafNPM 패키지를 사용하여 삭제

    • 명령 프롬프트를 열고 디렉토리가 폴더가있는 node_modules폴더 로 변경하십시오 .

    • 운영

      rimraf node_modules

    • rimraf ERROR 누락 후 설치

      npm install rimraf -g

    • 설치가 완료되면 다음을 실행하십시오.

      rimraf node_modules

  2. 옵션 2 :

    아무것도 설치하지 않고 Detele

    • test모든 드라이브에 이름 을 가진 폴더 만들기

      robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

    • 폴더를 삭제 test하고 FolderToDelete모두 비어 있습니다

왜 이것이 Windows에서 문제입니까?

깊은 중첩 폴더 구조 중 하나는 node_modules이며, 이름이 너무 길어서 Windows에서 폴더를 삭제할 수 없습니다 . 이 쉬운 솔루션을 해결하려면 노드 모듈 RimRaf를 설치하십시오.


Error: EPERM: operation not permitted
트래비스 Heeter

1
고정 : 컴퓨터를 다시 시작해야했습니다. 무언가를 사용 node_modules하고 있었지만 권한 오류가 발생했습니다.
트래비스 Heeter

8

Visual Studio 코드 사용해보기

많은 솔루션을 시도한 후에 이것은 매우 간단하다는 것을 알았습니다. Visual 코드로 프로젝트를 열고 삭제하십시오. UI가 몇 초 동안 멈출 수도 있지만 확실히 작동합니다. 많은 큰 크기의 node_modules 폴더를 사용하여 테스트

여기에 이미지 설명을 입력하십시오

감사


이상하게 작동합니다 !! :) 안전 모드에서도 삭제하려고 시도 sudo su했지만 사용 되었지만 아무런 도움이되지 않습니다. BTW, 나는 Mojave로 업그레이드 할 때까지 나에게 결코 발생하지 않은 OSX에서 실행 중입니다.
forloop

6

Git Bash를 사용하여 폴더를 제거 할 수 있습니다.

예 : c : \ users \ stu \ projects \ mynodeproject

rm / c / users / stu / projects / mynodeproject -rfd


5

비슷한 문제가 있었고 알 수없는 이유로 RD가 작동하지 않았습니다.

NPM은 자체 엉망을 제거 할 수 있으므로 npm uninstall [module-name]node_modules의 각 디렉토리에 대해 제거하면 제거 할 수 있습니다.

(종속성이 많은 사람들을 위해 나중에 이것을 일괄 루프하는 방법을 찾을 것입니다.)



4

다른 운영 체제에서 테스트하지 않은 Windows에서 간단하게 실행

rm -r node_modules

실제로이 폴더를 사용하여 모든 폴더를 삭제할 수 있습니다.

rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete같습니다.

그냥 gitbash를여십시오 폴더의 루트로 이동하고 다음 명령을 실행

이것이 도움이되기를 바랍니다.

감사합니다, Ajay Kotnala


2

Windows에서 Total Commander를 사용 하면 shift+를 클릭하여 폴더를 선택하기 만하면 delete됩니다. shift열쇠를 잊지 마십시오 .


이것이 최고의 솔루션입니다! TC는 딸꾹질이없는 폴더를 삭제하고 정말 빠릅니다.
Marina Dunst

2

모든 파일 관리자는 이러한 문제를 피할 수 있습니다 (예 : Far Manager)

여기에 이미지 설명을 입력하십시오


2
나는 10 년 이상 그 종류의 인터페이스를 사용하는 사람을 보지 못했습니다. J는 저의 하루를 만들었습니다.
Rikki

2

PowerShell의 프로젝트 폴더에서 del_modules를 수행 하면 해당 폴더와 해당 하위 폴더를 제거할지 묻는 메시지가 표시됩니다. 'Y'를 누르십시오.


간단한 것. 감사합니다
estin sunny

... \ node_modules에 자식이 있으며 Recurse 매개 변수가 지정되지 않았습니다. 계속하면 모든 하위 항목이 항목과 함께 제거됩니다. 너 정말 계속하고 싶니? [Y] 예 [A] 예 모두 [N] 아니오 [L] 아니오 모두 [S] 일시 중지 [?] 도움말 (기본값은 "Y") : Y rd : 디렉토리 C : \ ... \ node_modules \ ngx -color-picker \ dist는 비어 있지 않으므로 제거 할 수 없습니다. rd node_modules -recurse
AUSTX_RJL

1
rd node_modules -recurse
AUSTX_RJL

@AUSTX_RJL rd도 작동하지만 del node_modules .. 유선에 문제가 없었습니다. 그러나 PS에서
Roy

2

모든 것을 시도했지만 작동하지 않았습니다. 위의 모든 방법은 아무것도하지 않았습니다. 마침내 VSCode를 통해 삭제할 수있었습니다.

  1. VSCode로 루트 폴더를여십시오.
  2. node_modules폴더를 선택 하고 삭제하십시오.
  3. 이익. ( few milliseconds삭제하는 데 시간이 걸립니다 .)

VSCode-delete.png


2

node_modules 또는 다른 폴더를 빠르게 삭제하기 위해 Windows 컨텍스트 항목을 만들었습니다. 디렉토리 경로에 잘못된 문자가 있기 때문에 Windows가 폴더를 삭제하지 않을 때 사용합니다.

설치하는 방법?

  1. rimraf 설치 =>npm install rimraf -g

  2. 이라는 이름의 새 파일을 delete.bat만들고 아래와 같이 내용을 설정 한 다음c:\windows\system32\

    delete.bat :

 @ECHO OFF
 ECHO.
 ECHO %CD% 
 ECHO.
 ECHO Are you sure to delete the folder with Rimraf?
 PAUSE
 SET FOLDER=%CD%
 CD /

 rimraf "%FOLDER%"

 rem DEL /F/Q/S "%FOLDER%" > NUL
 rem RMDIR /Q/S "%FOLDER%"

 EXIT
  1. fast-delete.reg 파일을 실행 하여 레지스트리로 가져 오십시오.

    끝난!

최종 결과


1

내가 사용하는 하나의 솔루션 :

CI 환경에서 작업 할 때는 새 확장 (rimraf)을 설치하지 않는 것이 좋습니다.

  1. A) packages.json의 이름을 다른 것으로 바꿉니다. 비) 특히 CI-npm 설치 후 일반적으로 파일 이름을 바꾸는 대신 파일을 제거하지만 필요한 경우이 작업을 수행 할 필요가 없습니다. 그게 당신의 선택입니다.
  2. 실행 npm init-이것은 빈을 만듭니다packages.json 파일 (종속성이 없음)
  3. 실행 npm prune-이 일치 node_modules을 의 종속 섹션packages.json 지금의 2 단계의 결과로 비어 -.
  4. # 1.A를 선택한 경우 단계에서 새로 작성된을 삭제 하고 원본 이름을 원래 이름으로 다시 packages.json바꾸십시오 packages.json.

1

너무 쉽다.

node_modules 내의 모든 폴더를 삭제 한 다음 실제 node_module 폴더를 삭제하십시오.

이것은 나를 위해 작동합니다. 최고의 행운....


솔직히 이것은 더 빠른 방법이지만 많은 인내가 필요합니다. 한 번에 몇 개의 폴더를 삭제하면 더 좋습니다.
Santosh

1

Windows에서 솔루션으로 이동하려면 다음 rmdir명령을 사용하십시오 .

rd /S .\node_modules\

처음 실패하면 한 번 더 시도하십시오. 또한 현재 모듈 ( npm run serve또는 유사한)을 사용하는 스크립트를 실행하고 있는지 확인하십시오 .


0

이 모습에서 이 MSDN 문서 , 그것은 모양이 마음에 이제 윈도우 10 v1607 (일명 '기념 업데이트') 레지스트리 값을 변경하여에서 MAX_PATH 제한 우회 - 그룹 정책을 통해


0

Powershell을 사용하십시오.

powershell을 실행하고 상위 폴더로 cd 한 후 다음을 수행하십시오.

rm [yourfolder]

에서와 같이 :

rm node_modules

0

Windows 10에 있는데 "directory not emtpy"라는 메시지가있는 폴더를 삭제할 수 없습니다. rimraf 또는 rm -rf 는 작동 하지 않았습니다 .

빈 텍스트 파일을 모든 단일 폴더에 복사하면 트릭을 수행했습니다. 완전한 node_modules 폴더를 삭제할 수있었습니다.


0

때로는 rimraf전체적으로 설치하더라도 로컬 rimraf종속성 이있을 수 있습니다 (일반적으로 SASS가 있음). 이 경우 다음 명령을 실행합니다.

문제 나 오류가있는 경우 usagidon이 권장하는 대로 처음 2 단계를 수행하십시오.

npm uninstall rimraf & rimraf node_modules

로컬을 삭제 rimraf하고 전역을 사용합니다.


0

정확히 관련이 없지만 이것은 비슷한 솔루션에 대한 검색에서 찾은 첫 번째 게시물이므로 여기에 게시 할 가치가 있다고 생각합니다.

electron-redux 설치에 실패한 후 node_modules 폴더를 삭제하려고 시도하는 Windows 10의 권한 문제가 발생했습니다. electron-redux가 @types를 node_modules에 추가 한 것 같습니다. 권한이 잘못 설정되어 있습니다.

rimraf는 여전히 권한 문제가 발생하여 작동하지 않았습니다.

node_modules의 이름을 바꾸고 간단한 삭제 작업을 수행했습니다.


0

그래서 내 문제는 node_modules 안에 .bin 폴더가 있고 그것을 삭제할 수 없다는 것입니다. 위의 모든 솔루션을 동일하게 시도했지만 아무것도 작동하지 않았습니다.

반복되는 오류는 "u 폴더를 삭제할 수있는 권한이 없거나 다른 프로그램에서 사용한 것입니다."

"내 PC에 바이러스 백신이 설치되어 있는데, 모르게 node_modules 폴더의 파일을 사용하고있었습니다."

바이러스 백신을 제거했거나 u 바이러스 백신 설정 옵션에서 사용 권한 설정을 변경할 수 있습니다 (바이러스 백신 u에 따라 다름). 이제 node_modules 폴더를 삭제할 수 있습니다.


0

나를 위해 일한 것은 다음과 같습니다.

  1. 노드 매니저 콘솔을 닫았다
  2. Atom (visual studio code) 개발 환경을 닫았습니다.
  3. 그런 다음 node_modules를 삭제하십시오.

    npm install rimraf -g 
    rimraf node_modules

0

PowerShell 방식 :

PS > rm -r -force node_modules

# The same, but without using aliases
PS > Remove-Item -Recurse -Force node_modules

node_modules하위 디렉토리의 모든 항목을 삭제하려면 다음을 수행하십시오.

참고 재귀 적으로 삭제되므로 잠재적으로 위험합니다. 여기서 수행중인 작업을 확인하십시오.

PS > dir -Path . -Filter node_modules -recurse | foreach {echo $_.fullname; rm -r -Force $_.fullname}

0

이를 위해 특별히 다른 npm 패키지를 사용할 수 있습니다. 사용하여 폴더에 로컬로 설치하여

npm i rm-node-modules-recur

원하는 경우 -g 스위치를 사용하여 전역으로 설치할 수도 있습니다.

로컬로 설치된 경우 현재 디렉토리 node_modules.bin \에서 바이너리를 호출 할 수 있습니다.

 .\node_modules\.bin\rmnodes "<top level directory within quotes>"

글로벌 설치를 선택한 경우 간단히

rmnodes "<top level directory within quotes>"

이 패키지는 ..이 패키지는 모든 하위 디렉토리에서 node_modules를 재귀 적으로 (내 경우에는 60 개의 홀수 폴더) 삭제하는 일이 쉬워집니다. 첨부 된 스냅 샷을 참조하십시오. rm-node-modules-recur 사용


-1

조금 이길 전진여러 폴더에 대해 를 진행하십시오 ...

'node_module'을 포함하는 'build'가 여러 개인 프로젝트 폴더가있는 경우 처럼:

C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules

"빌드"로 시작하는 모든 폴더를 삭제하려고합니다.

! 위에서 제안한대로 nodejsrimraf 를 먼저 설치 하십시오 !

그런 다음 프로젝트 경로로 이동하여 PowerShell 명령을 실행하십시오.

cd  C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}

와일이 필요해


-1

@ mike-caron 답변을 기반으로 간단한 배치를 만들 수 있으므로 전체 robocopy명령 을 입력 할 때마다 선택한 폴더의 경로를 입력 하지 않아도됩니다 .

@echo off
ECHO What Directory would you like to empty?
ECHO Current path: %cd%
SET /p UserInputPath=Input relative path to directory:
ROBOCOPY /MIR empty_dir %cd%\%UserInputPath% > NUL
PAUSE

여기서는 명령에 empty_dir 이라는 빈 디렉토리를 사용하고 있는데 , robocopy이 파일이 배치 파일과 동일한 디렉토리에 있어야 작동합니다. 배치 파일이 작업을 완료 한 후 선택한 디렉토리와 empty_dir 디렉토리가 모두 비워져 제거 할 수 있습니다.

빈 폴더를 만드는 간단한 배치 파일을 만들었으며 robocopy명령을 실행 한 후 빈 폴더와 선택한 폴더를 모두 제거하므로 삭제하려는 선택한 폴더의 경로를 입력하면됩니다. rimraf 와 같은 것을 설치하지 않으려는 경우 빠르고 실용적 입니다. https://github.com/5imun/WinCleaner에서 다운로드 할 수 있습니다.


이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다. - 검토에서
SherylHohman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.