모든 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%
(탐색기, 실행 프롬프트 또는 시작 메뉴에서) 입력하여 빠르게 여기에 올 수 있습니다 .
나는 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에서만 작동합니다.
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 (노드 5.0)에서 중단됩니다. 이제 .bashrc 파일에서 npm_uninstall_all에 매핑 된 다음 Bash 명령을 사용하고 있습니다.
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
보너스가 추가 되었습니까? 더 빠릅니다!
https://github.com/npm/npm/issues/10187
package.json (NPM)에 나열된 모든 종속성을 어떻게 제거합니까?
설치 한 모든 패키지를 제거하려면 npm -g ls
명령을 사용하여 찾은 다음 npm -g rm
제거하십시오.
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
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%
이 코드를 사용하여 패키지를 설치 제거하십시오.
npm rm -g <package_name>
모두 잘 했어 이것은 하나의 라인 코드로 제안을 결합한 것입니다.
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
무엇이 다른가요? 다음과 같은 단일 명령으로 제거가 수행됩니다.npm rm -g *** *** ***
Windows에 있고 모든 node_modules를 제거 / 제거하려면 다음 단계를 수행해야합니다.
- Windows 명령 프롬프트로 이동
- node_modules 디렉토리로 이동하십시오 ( node_modules 폴더 내부 아님 ).
아래 명령을 입력하고 1-2 분 동안 제공하면 node_module 내의 모든 디렉토리가 제거됩니다
rmdir /s /q node_modules
이것이 Windows의 일부를 도울 수 있기를 바랍니다.
Intellij Webstorm이있는 경우 내장 그래픽 패키지 관리자를 사용할 수 있습니다.
루트로 열고 emtpy 프로젝트를 만듭니다. 이동
파일> 설정> 언어 및 프레임 워크> Node.js 및 NPM
설치된 모든 패키지가 표시됩니다. 제거는 쉽고, 제거하려는 패키지를 선택하거나 선택 취소 할 수 있습니다. Ctrl + a도 마찬가지입니다.
npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g
sed 솔루션
npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g
다음과 같이 간단합니다. rm -rf ~/.npm
콘솔에 넣으십시오.
sudo npm list -g --depth = 0입니다. | awk -F '' '{print $ 2}'| awk -F '@' '{print $ 1}'| sudo xargs npm 제거 -g
그것은 나를 위해 일한다 ...
참고 URL : https://stackoverflow.com/questions/9283472/command-to-remove-all-npm-modules-globally
'Programing' 카테고리의 다른 글
android에서 string.xml에서 값을 읽는 방법은 무엇입니까? (0) | 2020.03.01 |
---|---|
유닉스 타임 스탬프 (epoch 이후 초)를 Ruby DateTime으로 변환하는 방법은 무엇입니까? (0) | 2020.03.01 |
datetime2 데이터 유형을 datetime 데이터 유형으로 변환하면 범위를 벗어난 값 (0) | 2020.03.01 |
UITableView didSelectRowAtIndexPath : 첫 번째 탭에서 호출되지 않음 (0) | 2020.03.01 |
사용자 이름과 비밀번호로 MongoDB를 보호하는 방법 (0) | 2020.03.01 |