programing

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

linuxpc 2023. 5. 21. 11:00
반응형

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

를 프젝트패설가정합다니치로 합니다.npm install그을들면보다여를 하는 것.package.json설치할 모듈의 경우.에 저는 어떤 되었고 은 잠시후특필않것다다알제니거합에서 되었습니다.package.json 저는 그런다다제거다니합에서 합니다.package.json왜냐하면 그것들은 더 이상 필요하지 않고 다른 것들은 대안으로 대체되기 때문입니다.

이제 청소를 하고 싶습니다.node_modules를 사용하여 에나된 수있폴에 만 사용할 수 있도록 .package.json에 머물러야 , 예를 들면 머가나합야니것다는머비지슷한하거기, ▁like▁stay.npm clean수동으로 제거할 수 있지만 설탕 기능을 사용할 수 있는 멋진 준비를 하고 싶습니다.

에 당신은 당이찾있같것다습니는신고▁for다같니습을 찾고 있는 것 같습니다.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은 종속성을 다시 다운로드하지 않고 캐시된 버전을 사용하려고 시도합니다.

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

npm install rimraf -g

rimraf node_modules

6 버전 6.5.0부터npm합니다.clean-install(ci모든 패키지를 하드 새로 고칩니다.

참고 자료를 참조하십시오.

간단한 그냥 실행

rm -r node_modules

사실, 당신은 이것으로 모든 폴더를 삭제할 수 있습니다.

like rm -r AnyFolderShiftDeleteOrDelete에서 삭제할 수 없는 항목입니다.

Gitbash에서 폴더 루트로 이동을 열고 이 명령을 실행합니다.

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

최초 글로벌 설치 Rimraf

npm install rimraf -g

cmd를 사용하여 node_dll 폴더가 있는 경로로 이동하고 아래 명령을 적용합니다.

rimraf node_modules

누군가가 필요로 할 경우를 대비하여 최근에 이 문제를 해결하기 위해 수행한 작업이 있습니다.

npmci - 모든 항목을 치료하고 모든 패키지를 처음부터 설치하려는 경우:

-node_modules 폴더가 존재하는 경우 npm이 삭제하고 새로 설치합니다.

-package-lock.json이 존재하지 않거나 패키지 내용과 일치하지 않는 경우 일관성을 확인합니다.json, npm이 오류와 함께 중지됩니다.

https://docs.npmjs.com/cli/v6/commands/npm-ci

npm-dedupe - 모든 패키지를 삭제했다가 다시 설치하지 않고 현재 node_modules 디렉토리를 정리하려는 경우

로컬 패키지 트리를 검색하고 여러 종속 패키지에서 보다 효과적으로 공유할 수 있는 종속성을 트리 위로 이동하여 전체 구조를 단순화합니다.

https://docs.npmjs.com/cli/v6/commands/npm-dedupe

제가 발견한 최고의 기사는 이것입니다: https://trilon.io/blog/how-to-delete-all-nodemodules-recursively

모든 것이 콘솔에서 가능하며 모든 폴더 지점에서 쉽게 실행할 수 있습니다.

하자면, 이는 각각의 를 찾기 것입니다.node_module폴더가 다른 프로젝트에 있습니다.

find . -name "node_modules" -type d -prune -print | xargs du -chs

실제로 제거하려면 다음을 수행할 수 있습니다.

find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

이 문서에는 Windows 셸에 대한 지침도 포함되어 있습니다.

npm prune 먹어봤어요?

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

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

나는 패키지 안에 몇 줄을 추가했습니다.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.

잘 작동합니다.

또한 npx를 rimraf와 함께 사용하여 명령 하나로 모든 노드 모듈을 제거할 수 있으므로 먼저 rimraf를 설치할 필요가 없습니다.

따라서 cmd를 사용하여 node_modules 폴더가 있는 경로로 이동하고(아직 없는 경우) 다음 명령을 실행합니다.

npx rimraf node_modules

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

그 중 무료 도구: 롱패스 픽서를 사용해보는 것이 좋습니다: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php

npm 설치 대신 다음 명령 사용

npm ci

rimraf는 Windows에서 Linux 명령 [rm -rf]를 시뮬레이션하기 위한 패키지입니다.교차 플랫폼 지원에 유용합니다.CLI를 설치하는 경우:

npm install rimraf -g

사중인경우를 .YARN당신의 프로젝트에서 아래 줄을 당신의 프로젝트에 추가하세요.pacjage.json하고 실행yarn clean프로젝트 터미널에서 실행

"clean": "rm -rf yarn.lock node_modules ios/Podfile.lock && yarn install && cd ios && pod install && pod update && cd .."

최근 Angular를 14에서 15로 업그레이드했는데 다음 작업을 수행해야 한다는 것을 알게 되었습니다.

npm cache clean --force
npm cache verify
rm -rf node_modules/
npm install

캐시를 정리하지 않으면 로컬에서 설치가 성공하지만 서버에서 배포를 실행할 때 실패합니다.이는 로컬 설치가 로컬 캐시 패키지를 사용하여 설치하기 때문입니다. 주의하십시오.:)

간단히 실행해야 합니다.rm -rf node_modules/ npm install

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

반응형