codememo

모든 npm 모듈을 전역적으로 제거하는 명령

tipmemo 2023. 5. 23. 21:54
반응형

모든 npm 모듈을 전역적으로 제거하는 명령

글로벌 npm 모듈을 모두 제거하는 명령이 있습니까?그렇지 않다면 어떻게 하시겠습니까?

다음 명령은 모든 글로벌 npm 모듈을 제거합니다.참고: Windows에서는 작동하지 않습니다.작동 중인 Windows 버전은 Ollie Bennett's Answer를 참조하십시오.

npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm

작동 방식은 다음과 같습니다.

  • npm ls -gp --depth=0에는 모든 글로벌 최상위 수준 모듈이 나열되어 있습니다(ls는 CLI 설명서 참조).
  • awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'실제로는 npm 자체가 아닌 모든 모듈을 출력합니다(으로 끝나지 않음)./npm)
  • xargs npm -g rm이전 파이프를 통과하는 모든 모듈을 전역적으로 제거합니다.

Windows를 사용하는 사용자의 경우 전역에 설치된 모든 npm 패키지를 제거하는 가장 쉬운 방법은 다음 내용을 삭제하는 것입니다.

C:\Users\username\AppData\Roaming\npm

입력하면 빠르게 도착할 수 있습니다.%appdata%/npm탐색기, 실행 프롬프트 또는 시작 메뉴에서 선택할 수 있습니다.

카이 스테나드의 해결책시도해 보았지만 저에게는 불완전한 것 같았습니다.마지막 이후에 많은 특별한 상징들이 남아있었습니다.awk뎁스 트리 자체에서.

그래서 저는 (캐시미어의 아이디어에서 약간의 도움을 받아) Kai Sternad의 솔루션에 대한 저만의 수정을 생각해 냈습니다.

npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm

npm ls -gp --depth=0에는 글로벌하게 설치된 모든 npm 모듈이 구문 분석 가능한 형식으로 나열되어 있습니다.

/home/leonid/local/lib
/home/leonid/local/lib/node_modules/bower
/home/leonid/local/lib/node_modules/coffee-script
...

awk -F/node_modules/ '{print $2}'경로에서 모듈 이름을 추출하여 전역에 설치된 모든 모듈의 목록을 구성합니다.

grep -vE '^(npm|)$'npm 자체와 빈 줄을 제거합니다.

xargs -r npm -g rm호출들npm -g rm목록의 각 모듈에 대해.

Kai Sternad의 솔루션처럼 *nix 이하에서만 작동합니다.

sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}'  | sudo xargs npm remove -g

나를 위해 일했습니다.

  • sudo npm list -g --depth=0.설치된 모든 최상위 수준 나열
  • awk -F ' ' '{print $2}'♫ ♫ ♫
  • awk -F '@' '{print $1}''@' 앞에 있는 파트를 가져옵니다.
  • sudo xargs npm remove -g패키지를 전체적으로 제거

Powershell을 사용하는 경우:

npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }

캐시를 지우는 방법

npm cache clear

그냥 당신의 것으로 전환하세요.%appdata%/npm디렉토리를 지정하고 다음을 실행합니다.

for package in `ls node_modules`; do npm uninstall $package; done;

편집: 이 명령은 npm 3.3.6(Node 5.0)으로 중단됩니다.나는 지금 내 .bashrc 파일의 npm_uninstall_all에 매핑된 다음 Bash 명령을 사용하고 있습니다.

npm uninstall `ls -1 node_modules | tr '/\n' ' '`

추가 보너스?훨씬 빨라요!

https://github.com/npm/npm/issues/10187

패키지에 나열된 모든 종속성을 제거하는 방법은 무엇입니까?json(NPM)?

설치한 모든 패키지를 제거하려면npm -g ls그들을 찾으라고 명령하고, 그리고 나서.npm -g rm그들을 제거하는 것.

창에서 "C:"로 이동합니다.\Users{username}\AppData\Roaming" 디렉토리 및 수동으로 npm 폴더 제거

jq가 설치되어 있으면 grep/awk/sed 없이도 사용할 수 있습니다.

npm ls -g --json --depth=0 |
  jq -r '.dependencies|keys-["npm"]|join("\n")' |
  xargs npm rm -g

데비안 및 파생 모델에서 다음을 사용하여 jq를 설치할 수 있습니다.

sudo apt-get install jq

OS가 OP에 의해 지정되지 않았습니다.Windows의 경우 이 스크립트를 사용하여 로컬 및 사용자의 글로벌 모듈 및 캐시를 해제할 수 있습니다.

는 리눅스에서 글로벌 루트가 주어진 사용자 대신 시스템에 진정으로 글로벌하다는 것을 알게 되었습니다.따라서 글로벌 루트를 삭제하는 것은 공유 시스템에 적합하지 않을 수 있습니다.그 외에도 관심이 있으면 스크립트를 bash로 이식할 수 있습니다.

윈도우즈의 경우 실행할 cmd 파일에 저장합니다.

@ECHO OFF
SETLOCAL EnableDelayedExpansion 
SETLOCAL EnableExtensions

SET /A ecode=0

:: verify
SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])?
IF /I NOT "%conf%"=="y" (
  ECHO operation aborted
  SET /A ecode=!ecode!+1
  GOTO END
)

:: wipe global and local npm root
FOR %%a IN ("" "-g") DO (

  :: get root path into var
  SET cmd=npm root %%~a
  FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r)

  :: paranoid
  ECHO validating module path "!npm_root!"
  IF "!npm_root:~-12!"=="node_modules" (
    IF NOT EXIST "!npm_root!" (
      ECHO npm root does not exist "!npm_root!"
    ) ELSE (
      ECHO deleting "!npm_root!" ...
      :: delete
      RMDIR /S /Q "!npm_root!"
    )
  ) ELSE (
      ECHO suspicious npm root, ignoring "!npm_root!"
  )
)

:: clear the cache
ECHO clearing the npm cache ...
call npm cache clean

:: done
ECHO done

:END

ENDLOCAL & EXIT /b %ecode%

다들 수고하셨습니다.이것은 제안을 하나의 라인 코드로 결합한 것입니다.

npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`

무엇이 다릅니까?는 다음과 같은 됩니다.npm rm -g *** *** ***

위해서yarn global

nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add

아니면, 만약 당신이 실제로 그 안에 무엇이 있는지 신경쓰지 않는다면.package.json

echo {} >  ~/.config/yarn/global/package.json && yarn global add

이것은 NPM에도 적용되어야 하지만, 저는 NPM global이 어디에 저장되어 있는지 정확히 모르겠습니다.

설치된 모든 npm 패키지는 다음 위치에서 찾을 수 있습니다.

C:\Users\username\AppData\Roaming\npm

삭제할 npm의 내용을 삭제합니다.

AppData가 표시되지 않으면 숨김을 의미하며, 파일 탐색기에서 View(보기)로 이동하여 Hidden 항목을 선택하면 모든 숨겨진 폴더를 볼 수 있습니다.

파일 탐색기를 사용하지 않고, 설치 위치에 상관없이, 나중에 고장날 가능성이 매우 낮고, 100% 교차 플랫폼과 호환되며, 추가 단계로 인해 훨씬 안전하다고 느끼는 수동 접근 방식을 사용하려면 이 방법을 사용하십시오.

  • npm ls -g --depth=0
  • 출력 복사
  • 즐겨찾기 코드 편집기에 붙여넣기(vsCode 사용).다중 커서 편집 기능이 우수
  • 보관할 패키지를 확인합니다(몇 가지 예를 들어, demon, yarn). 해당 줄을 제거합니다.
  • 모든 +-- 선 장식가 ▁decor▁or자.
  • 를 제거합니다( ' 든모버정예제다니거합를보전예▁'(다니:(')).@2.11.4')
  • 모든 항목을 공백으로 구분하여 동일한 줄에 배치
  • 더하다npm uninstall -g 그 한 줄의 시작까지.
    • 는 나의것 요.npm uninstall -g @angular/cli @vue/cli express-generator jest mocha typescript bindings nan nodemon yarn하지만 저는 이 기계에 글로벌 패키지를 많이 설치하지 않았습니다.
  • 복사선
  • 단말기에 붙여넣기, 복사/붙여넣기에서 아직 추가되지 않은 경우 Enter 키를 누릅니다.
  • 터미널에 오류가 있는지 확인합니다.
  • 인확을 합니다.npm ls -g완벽하게 할 수 있도록 말이죠무언가가 다시 설치된 경우 헹구고 반복합니다.

다른 CLI 전용 접근 방식은 컴퓨터 관리자가 동일한 SSH 또는 Puppet에서 거의 동일한 100대의 컴퓨터를 동시에 처리하는 데 유용합니다.하지만 1년 동안 단 한 번, 심지어 5번만 이 일을 한다면 훨씬 더 쉽습니다.

Windows의 경우:

rmdir /s /q "%appdata%/npm"

윈도우에서 모든 node_modules를 제거/제거하려면 다음 단계를 수행해야 합니다.

  1. Windows 명령 프롬프트로 이동
  2. node_modules 디렉토리로 이동합니다(node_modules 폴더 내부가 아님).
  3. 아래 명령을 입력하고 1-2분 동안 입력하면 node_module 내부의 모든 디렉토리가 제거됩니다.

     rmdir /s /q node_modules
    

이것이 창문에 있는 누군가에게 도움이 되기를 바랍니다.

Intellij Webstorm이 있는 경우 기본 제공 그래픽 패키지 관리자를 사용할 수 있습니다.

루트로 열고 빈 프로젝트를 만듭니다.에 가다

파일 > 설정 > 언어 및 프레임워크 > Node.js 및 NPM

설치된 모든 패키지를 볼 수 있습니다.제거는 간단합니다. 제거할 패키지를 선택하거나 선택 취소할 수 있습니다. Ctrl+a도 작동합니다.

MAC의 경우 아래를 사용하면 됩니다.

sudm - rf /usr/local/{bin/{node,npm},lib/node_nbm/npm,lib/node,share/man/node.}

npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g

이 코드를 사용하여 패키지를 제거합니다.

npm rm -g <package_name>

이것이 검색에서 최고의 답변이기 때문에 제가 예전에 컴퓨터 전환 노트북을 청소할 때 사용했던 솔루션이었기 때문에 이 글을 여기에 올립니다.

cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +

출처: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e

여기 제가 시도한 더 우아한 해결책이 있습니다. 제가 npm에게 모든 작업을 맡겨 놓았습니다.

# On Linux Mint 19.1 Cinnamon
# First navigate to where your global packages are installed.

$ npm root # returns /where/your/node_modules/folder/is
$ cd /where/your/node_modules/folder/is # i.e for me it was cd /home/user/.npm-packages/lib/node_modules

럼당신이그▁you.npm uninstall또는npm remove이러한 모듈은 프로젝트의 일반적인 종속성인 것처럼 처리됩니다.작업이 완료되면 package-lock.json 파일도 생성합니다.

$ npm remove <package-name> # you may need sudo if it was installed using sudo  

Windows용 MSYS가 있는 경우:

rm -rf ${APPDATA//\\/\/}/npm

npm README.md 은 다음과 같이 말합니다.

하려면 설한모패키제다사수있음다용습니할을을 .npm ls그들을 찾으라고 명령하고, 그리고 나서.npm rm그들을 제거하는 것.

0된 npm 0.x를 사용하면 .clean-old.sh스크립트 파일.다음과 같이 편리하게 실행할 수 있습니다.

   npm explore npm -g -- sh scripts/clean-old.sh

macOS에서는 사용자 디렉토리에서 .npm-global 폴더를 간단히 삭제할 수 있다고 생각합니다.

의 .및 . 디렉토리macOS의 .npm 및 .npm-global 폴더:
macOS 사용자 디렉토리의 .npm 및 .npm-global 폴더

npm list -g

전역에 설치된 패키지의 위치가 표시됩니다.

파일로 출력하려는 경우:
-g > outputsnpm list -g > ~/desktop/npm tax

npm rm -g

그것들을 제거할 것입니다.

sudo npm uninstall npm -g

또는 실패할 경우 npm 소스 코드를 가져와 다음을 수행합니다.

sudo make uninstall

npm과 관련된 모든 항목을 수동으로 제거하려면:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

Windows용 NVM을 사용하는 경우 내부에서 원하지 않는 모든 모듈을 삭제해야 합니다.node_modules제거할 전역 모듈이 포함된 버전의 Node.js를 참조하십시오. 패키지는 Node.js에 필요하므로 제거하지 마십시오.

폴더는 다음 위치에 있습니다.

  • %USERPROFILE%\.nvm\{version}\node_modules.

    • %USERPROFILE%사용자 폴더입니다.
    • {version}글로벌 모듈을 삭제할 Node.js 버전입니다.

    예:C:\Users\Cappuccino\.nvm\19.8.1\node_modules.

  • {installationPath}\{version}\node_modules.

    • {installationPath}는 Windows용 NVM을 설치한 곳입니다.
    • {version}글로벌 모듈을 삭제할 Node.js 버전입니다. 예:D:\Programs\NVM\v19.8.1\node_modules.

침출액

npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g

콘솔에 넣기만 하면 됩니다.

sundpm list -g --depth=0.awk -F' '{print $2}' | awk -F '@' '{print $1}' | sudoxargs npm 제거 -g

내게 도움이 되는 것은...

언급URL : https://stackoverflow.com/questions/9283472/command-to-remove-all-npm-modules-globally

반응형