[node.js] package.json에없는 패키지의 node_modules 폴더를 청소하는 방법은 무엇입니까?

내가 함께 프로젝트 패키지를 설치하는 가정 npm install에 그 모습 package.json모듈을 설치하기. 잠시 후 특정 모듈이 필요하지 않고에서 의존성을 제거한다는 것을 알았습니다 package.json. 그런 다음 package.json더 이상 필요하지 않은 모듈을 제거하고 다른 모듈은 다른 모듈 로 대체합니다.

이제 node_modules폴더 를 정리하여 나열된 모듈 만 package.json유지하고 나머지는 가야합니다 npm clean. 수동으로 제거 할 수는 있지만 설탕 기능을 사용할 준비가 되었으면합니다.



답변

당신이 찾고 있다고 생각합니다 npm prune

npm prune [<name> [<name ...]]

이 명령은 “익스트림”패키지를 제거합니다. 패키지 이름이 제공되면 제공된 이름 중 하나와 일치하는 패키지 만 제거됩니다.

외부 패키지는 상위 패키지의 종속성 목록에 나열되지 않은 패키지입니다.

문서를 참조하십시오 : https://docs.npmjs.com/cli/prune


답변

node_modules / 폴더를 제거한 다음 package.json에서 종속성을 다시 설치할 수 있습니다.

rm -rf node_modules/
npm install

현재 폴더에 설치된 모든 패키지가 지워지고 package.json의 종속성 만 설치됩니다. 종속성이 이전에 설치된 경우 npm은 캐시 된 버전을 사용하려고 시도하여 종속성을 두 번 다운로드하지 않습니다.


답변

폴더 중첩으로 인해 이름이 너무 길어서 Windows에서 폴더를 삭제할 수 없습니다. 이를 해결하려면 RimRaf를 설치하십시오.

npm install rimraf -g

rimraf node_modules


답변

간단한 실행

rm -r node_modules

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

rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete같습니다 .

단지 열 gitbash 폴더의 루트로 이동하고 다음 명령을 실행

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


답변

세계 최초 rimraf 설치

npm install rimraf -g

node_modules 폴더에서 cmd를 사용하여 경로로 이동하여 아래 명령을 적용하십시오.

rimraf node_modules


답변

npm prune을 사용해 보셨습니까?

패키지 파일에 나열되지 않은 모든 것을 제거해야합니다.

https://npmjs.org/doc/cli/npm-prune.html


답변

버전 6.5.0부터 npm은 clean-install모든 패키지를 강제로 새로 고치는 명령 을 지원 합니다.