Czy istnieje polecenie usunięcia wszystkich globalnych modułów npm? Jeśli nie, co sugerujesz?
381
Następujące polecenie usuwa wszystkie globalne moduły npm. Uwaga: to nie działa w systemie Windows. Aby uzyskać działającą wersję systemu Windows, zobacz odpowiedź Ollie Bennetta .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Oto jak to działa:
npm ls -gp --depth=0
wyświetla wszystkie globalne moduły najwyższego poziomu (zobacz dokumentację cli dla ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
wypisuje wszystkie moduły, które nie są tak naprawdę npm (nie kończy się na /npm
)xargs npm -g rm
usuwa wszystkie moduły globalnie, które przechodzą przez poprzednią potok
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Objaśnienie: podział na spacje lub @, tylko dopasuj linie z @, nazwa modułu będzie drugą do ostatniej pasującą ($(NF-1)
), więc tylko drukuj jeśli nie jestnpm
Dla osób korzystających z systemu Windows najłatwiejszym sposobem usunięcia wszystkich globalnie zainstalowanych pakietów npm jest usunięcie zawartości:
C:\Users\username\AppData\Roaming\npm
Możesz się tam szybko dostać, wpisując
%appdata%/npm
w Eksploratorze, w wierszu polecenia lub z menu Start.źródło
%USERPROFILE%\AppData\npm
bezroaming
.npm install
. Musiałem też usunąćpackage-lock.json
plik.Próbowałem Kai Sternad „s rozwiązanie ale wydawało mi się to niedoskonałe. Po ostatnim
awk
z samego drzewa deps pozostało wiele specjalnych symboli .Tak więc wymyśliłem własną modyfikację rozwiązania Kai Sternad (z niewielką pomocą pomysłu cashmere ):
npm ls -gp --depth=0
wyświetla wszystkie globalnie zainstalowane moduły npm w formacie możliwym do parsowania :awk -F/node_modules/ '{print $2}'
wyodrębnia nazwy modułów ze ścieżek, tworząc listę wszystkich globalnie zainstalowanych modułów.grep -vE '^(npm|)$'
usuwa sam npm i puste linie.xargs -r npm -g rm
połączenianpm -g rm
do każdego modułu na liście.Podobnie jak rozwiązanie Kai Sternad , będzie działać tylko pod * nix.
źródło
npm
instaluje wszystkie jego globalne moduły w tym samym katalogu. Dokładna lokalizacja może się różnić, ale zazwyczaj jest/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
). Dodaję kolejnyawk
element dopasowujący, a działające dla mnie polecenie wygląda następująco:npm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
pracował dla mnie
sudo npm list -g --depth=0.
wyświetla listę wszystkich zainstalowanych najwyższych poziomówawk -F ' ' '{print $2}'
pozbywa się ├──awk -F '@' '{print $1}'
dostaje część przed „@”sudo xargs npm remove -g
usuwa pakiet globalnieźródło
npm remove UNMET
NOOP.grep -v npm
aby sam npm nie został usunięty:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Dla osób korzystających z PowerShell :
Aby wyczyścić pamięć podręczną:
źródło
Po prostu przejdź do
%appdata%/npm
katalogu i uruchom następujące ...EDYCJA: To polecenie nie działa z npm 3.3.6 (Node 5.0). Używam teraz następującego polecenia Bash, które zamapowałem na npm_uninstall_all w moim pliku .bashrc:
Dodano bonus? jest o wiele szybszy!
https://github.com/npm/npm/issues/10187
Jak odinstalować wszystkie zależności wymienione w pakiecie.json (NPM)?
źródło
npm
an
przedtr
w systemie Windows przejdź do katalogu „C: \ Users {nazwa użytkownika} \ AppData \ Roaming” i ręcznie usuń folder npm
źródło
Jeśli chcesz usunąć wszystkie zainstalowane pakiety, możesz użyć
npm -g ls
polecenia, aby je znaleźć, a następnienpm -g rm
je usunąć.źródło
Jeśli masz zainstalowane jq , możesz przejść nawet bez grep / awk / sed:
W Debianie i pochodnych możesz zainstalować jq z:
źródło
json
stylu apropos .npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
System operacyjny nie został określony przez OP. W systemie Windows tego skryptu można używać do usuwania globalnych modułów lokalnych i pamięci podręcznej użytkownika.
Zauważyłem na Linuksie, że globalny root jest naprawdę globalny dla systemu, a nie dla danego użytkownika. Dlatego usunięcie globalnego katalogu głównego może nie być dobrym pomysłem dla wspólnego systemu. Poza tym mogę przenieść skrypt do basha jeśli jest zainteresowany.
W systemie Windows zapisz w pliku cmd, aby uruchomić.
źródło
Użyj tego kodu, aby odinstalować dowolny pakiet:
źródło
Wszystko, co zrobiłeś dobrą robotę. Jest to połączone sugestie w jeden kod linii.
Co jest inne Odinstalowanie zostanie wykonane za pomocą jednego polecenia, takiego jak:
npm rm -g *** *** ***
źródło
Możesz zlokalizować wszystkie zainstalowane pakiety npm w lokalizacji:
i usuń zawartość npm, którą chcesz usunąć.
Jeśli AppData nie jest wyświetlana, oznacza to, że jest ukryta i możesz przejść do Wyświetl w eksploratorze plików i zaznaczyć Ukryte elementy, tam możesz zobaczyć wszystkie ukryte foldery.
źródło
Cóż, jeśli jesteś w systemie Windows i chcesz usunąć / odinstalować wszystkie moduły node_node, musisz wykonać następujące kroki.
Wpisz poniższe polecenie i daj na 1-2 minuty, aby odinstalować wszystkie katalogi w module node_module
Mam nadzieję, że to pomoże komuś w systemie Windows
źródło
jeśli masz Intellij Webstorm, możesz użyć wbudowanego menedżera pakietów graficznych.
otwórz go jako root i utwórz pusty projekt. iść do
tam zobaczysz wszystkie zainstalowane pakiety. Deinstalacja jest łatwa, możesz zaznaczyć i odznaczyć dowolny pakiet, który chcesz odinstalować, Ctrl + a także woki.
źródło
Dla
yarn global
Lub, jeśli nie obchodzi Cię, co tak naprawdę jest w środku
package.json
Powinno to dotyczyć również NPM, ale nie jestem pewien, gdzie jest przechowywany NPM global.
źródło
źródło
Ponieważ jest to najlepsza odpowiedź w wyszukiwaniu, zamieszczam to tutaj, ponieważ było to rozwiązanie, którego użyłem w przeszłości do czyszczenia komputerów przełączających laptopy.
źródło: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
źródło
Oto bardziej eleganckie rozwiązanie, które wypróbowałem tam, gdzie pozwalam npm wykonać całą pracę za mnie.
Następnie, jeśli nie
npm uninstall
lubnpm remove
moduły te będą traktowane tak, jakby były normalne zależności od projektu. Po zakończeniu generuje nawet plik package-lock.json:źródło
roztwór sed
źródło
Wystarczy umieścić w konsoli:
lista sudo npm -g --depth = 0. | awk -F '' {print 2 USD} '| awk -F '@' {{print $ 1} '| sudo xargs npm remove -g
To dla mnie praca ...
źródło