Programing

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

lottogame 2020. 3. 19. 08:14
반응형

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


Windows 사용자의 경우 http://ask.osify.com/qa/567에 나열된 해당 폴더를 제거하는 대체 솔루션입니다.

그중에서도 무료 도구 : Long Path Fixer 는 다음을 시도해 보는 것이 좋습니다 : http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php


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


package-lock.json에 필요하지 않은 패키지를 제거 / 편집 (패키지 이름은 dependencies & devDependencies로 작성 됨)

npm install


package.json 안에 몇 줄을 추가했습니다.

"scripts": {
  ...
  "clean": "rmdir /s /q node_modules",
  "reinstall": "npm run clean && npm install",
  "rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",
  ...
}

원하는 clean경우이 rimraf node_modules또는을 사용할 수 있습니다 rm -rf node_modules.

잘 작동합니다


npm install 대신 다음 명령을 사용하십시오.

npm ci

참고 : https://stackoverflow.com/questions/21122342/how-to-clean-node-modules-folder-of-packages-that-are-not-in-package-json

반응형