Node.js에서 사용되지 않는 패키지를 제거하거나 제거하는 npm 명령
Node Node.js에 더 되지 않은 에서 사용되지 않는 되지 않은)?package.json
할 때 패키지가됩니다.) 응용프로그램을 업데이트할 때 참조되지 않은 패키지가 자동으로 제거됩니다.
참고: 최근npm
은 를 실행할 때 으로 이 작업을 합니다.npm install
되어 있는 에는 " , 따라패를제경거는않다필제습니요우하지외는locks고를"로 개발 패키지를 제거하는 것 외에는 필요하지 않습니다.--production
깃발
에 나열되지 않은 모듈을 제거하려면 실행하십시오.package.json
.
npm help prune
:
이 명령은 "외부" 패키지를 제거합니다.패키지 이름이 제공되면 제공된 이름 중 하나와 일치하는 패키지만 제거됩니다.
외부 패키지는 상위 패키지의 종속성 목록에 나열되지 않은 패키지입니다.
에 약에만.
--production
플래그를 지정하면 devDependencies에 지정된 패키지가 제거됩니다.
몇 분의 시간을 걱정하지 않으신다면 해결책은 다음과 같습니다.rm -rf node_modules
그리고.npm install
로컬 모듈을 다시 빌드합니다.
npm-prune을 사용하여 관련 없는 패키지를 제거할 수 있습니다.
npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
이 명령은 "외부" 패키지를 제거합니다.패키지 이름이 제공되면 제공된 이름 중 하나와 일치하는 패키지만 제거됩니다.
외부 패키지는 상위 패키지의 종속성 목록에 나열되지 않은 패키지입니다.
--production 플래그를 지정하거나 NODE_ENV 환경 변수를 운영으로 설정하면 이 명령은 devDependencies에 지정된 패키지를 제거합니다.--no-production을 설정하면 NODE_ENV가 production으로 설정되지 않습니다.
--dry-run 플래그를 사용하면 실제로 변경되지 않습니다.
--json 플래그를 사용하는 경우 변경된 npm 제거(또는 --dry-run)가 JSON 개체로 인쇄됩니다.
패키지 잠금이 활성화된 정상 작동에서는 모듈이 설치될 때 외부 모듈이 자동으로 제거되며 --production 플래그가 있는 이 명령만 필요합니다.
패키지 잠금을 사용하지 않도록 설정한 경우 관련 없는 모듈은 제거되지 않으며 npm 제거를 수시로 실행하여 제거하는 것은 사용자에게 달려 있습니다.
npm-dedup을 사용하여 중복제거 감소
npm dedupe
npm ddp
로컬 패키지 트리를 검색하고 여러 종속 패키지에서 보다 효과적으로 공유할 수 있는 종속성을 트리 위로 이동하여 전체 구조를 단순화합니다.
예를 들어, 다음과 같은 종속성 그래프를 생각해 보십시오.
a
+-- b <-- depends on c@1.0.x
| `-- c@1.0.3
`-- d <-- depends on c@~1.0.9
`-- c@1.0.10
이 경우 npm-dedupe는 트리를 다음으로 변환합니다.
a
+-- b
+-- d
`-- c@1.0.10
노드의 모듈 조회의 계층적 특성으로 인해 b와 d는 모두 트리의 루트 수준에서 단일 c 패키지로 종속성을 충족합니다.
중복제거 알고리즘은 트리를 사용하여 중복이 발견되지 않더라도 각 종속성을 트리의 위쪽으로 최대한 이동합니다.이렇게 하면 플랫 트리와 중복 제거 트리가 모두 생성됩니다.
실행할 수 있습니다.npx depcheck
프로젝트에서 사용되지 않는 종속성 및 devDependency 목록을 가져옵니다.
그럼 도망칠 수 있어요npm uninstall pkg1 pkg2
종속성을 제거하는 등의 작업을 참조하십시오.
또는 패키지에서 종속성을 제거할 수도 있습니다.json 및 node_dll 및 package-lock.json을 삭제한 후 패키지를 다시 설치합니다.
언급URL : https://stackoverflow.com/questions/21417014/npm-command-to-uninstall-or-prune-unused-packages-in-node-js
'programing' 카테고리의 다른 글
상황에 맞는 메뉴의 메뉴 항목에서 요소 이름 바인딩 (0) | 2023.05.10 |
---|---|
Xib 파일에서 사용자 지정 UITableViewCells를 로드하는 방법은 무엇입니까? (0) | 2023.05.10 |
jQuery 선택기의 와일드카드 (0) | 2023.05.10 |
이상한 AQDefaultDevice 로깅 (0) | 2023.05.10 |
jQuery UI 날짜 선택기 - 날짜 형식 변경 (0) | 2023.05.10 |