programing

Node.js에서 사용되지 않는 패키지를 제거하거나 제거하는 npm 명령

yellowcard 2023. 5. 10. 20:47
반응형

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_ENVproduction으로 설정되지 않습니다.

--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종속성을 제거하는 등의 작업을 참조하십시오.

또는 패키지에서 종속성을 제거할 수도 있습니다.jsonnode_dllpackage-lock.json을 삭제한 후 패키지를 다시 설치합니다.

언급URL : https://stackoverflow.com/questions/21417014/npm-command-to-uninstall-or-prune-unused-packages-in-node-js

반응형