답변:
다음 명령은 모든 전역 npm 모듈을 제거합니다. 참고 : Windows에서는 작동하지 않습니다. 작동하는 Windows 버전은 Ollie Bennett 's Answer를 참조하십시오 .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
작동 방식은 다음과 같습니다.
Windows를 사용하는 사용자의 경우 전 세계적으로 설치된 모든 npm 패키지를 제거하는 가장 쉬운 방법은 다음 내용을 삭제하는 것입니다.
C:\Users\username\AppData\Roaming\npm
%appdata%/npm
탐색기, 실행 프롬프트 또는 시작 메뉴에서 입력하여 신속하게 이동할 수 있습니다 .
%USERPROFILE%\AppData\npm
에서는 roaming
. 없이 이동 한 것으로 보입니다 .
npm install
다시 실행할 때 EINTEGRITY 오류가 발생 했습니다. package-lock.json
파일도 삭제해야했습니다 .
나는 Kai Sternad 의 솔루션을 시도했지만 나에게 불완전한 것처럼 보였습니다. 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에서만 작동합니다.
npm
모든 전역 모듈을 동일한 디렉토리에 설치합니다. 정확한 위치는 다를 수 있지만 일반적으로 /usr/local/lib/node_modules
입니다.
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
@angular/cli
) 를 처리하지 못했습니다 . 나는 또 다른 매처를 추가 awk
하고 나를 위해 작동하는 명령은 다음과 같습니다.npm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
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
패키지를 전체적으로 제거npm remove UNMET
단순히 NOOP 처럼 중요 하지는 않습니다.
grep -v npm
npm 자체가 제거되지 않도록 추가합니다 .sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
%appdata%/npm
디렉토리 로 전환 하고 다음을 실행하십시오 ...
for package in `ls node_modules`; do npm uninstall $package; done;
편집 :이 명령은 npm 3.3.6 (노드 5.0)에서 중단됩니다. 이제 .bashrc 파일에서 npm_uninstall_all에 매핑 된 다음 Bash 명령을 사용하고 있습니다.
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
보너스가 추가 되었습니까? 더 빠릅니다!
npm
및 n
전과tr
Windows에서 "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
json
스타일 의 확실한 대답 입니다.
npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
OP에서 OS를 지정하지 않았습니다. 들어 윈도우 ,이 스크립트는 지역을 핵무기하는 데 사용할 수있는 사용자는 글로벌 모듈과 캐시입니다.
나는 리눅스 에서 전역 루트가 주어진 사용자 대신 시스템에 실제로 전역 적이 라는 것을 알았습니다 . 따라서 글로벌 루트를 삭제하는 것은 공유 시스템에 적합하지 않을 수 있습니다. 그 외에도, 관심이 있다면 스크립트를 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%
Intellij Webstorm이있는 경우 내장 그래픽 패키지 관리자를 사용할 수 있습니다.
루트로 열고 emtpy 프로젝트를 만듭니다. 이동
파일> 설정> 언어 및 프레임 워크> Node.js 및 NPM
설치된 모든 패키지가 표시됩니다. 제거는 쉽고, 제거하려는 패키지를 선택하거나 선택 취소 할 수 있습니다 (Ctrl + a도 마찬가지).
이것이 검색의 최고 대답이므로 과거에 컴퓨터 전환 랩톱을 청소하는 데 사용했던 솔루션이므로 여기에 게시하고 있습니다.
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
당신이 할 경우, npm uninstall
또는 npm remove
그들은 프로젝트의 정상적인 종속 것처럼 이러한 모듈이 처리됩니다. package-lock.json 파일이 완료되면 생성합니다.
$ npm remove <package-name> # you may need sudo if it was installed using sudo
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
설명 : 분할 공백이나에 @ 만에 라인을 일치 @, 모듈 이름 마지막 경기 (두 번째 것$(NF-1)
) 때문에, 단지 인쇄 그렇지 않다면npm