Polecenie usunięcia wszystkich modułów npm globalnie?
Czy istnieje polecenie do usunięcia wszystkich globalnych modułów npm? Jeśli nie, to co sugerujesz?
25 answers
Poniższe polecenie usuwa wszystkie globalne Moduły npm. Uwaga: to nie działa w systemie Windows. Aby zobaczyć działającą wersję systemu Windows, zobacz Ollie Bennett ' s Answer.
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
Lista wszystkich globalnych modułów najwyższego poziomu (patrz dokumentacja cli dla ls ) -
awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
wypisuje wszystkie moduły, które w rzeczywistości nie są samym npm (nie kończy się na/npm
) -
xargs npm -g rm
usuwa wszystkie moduły globalnie, które pochodzą z poprzedniego pipe
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:22
Dla tych, którzy używają Windows, najprostszym sposobem na usunięcie wszystkich globalnie zainstalowanych pakietów npm jest usunięcie zawartości:
C:\Users\username\AppData\Roaming\npm
Możesz szybko się tam dostać, wpisując %appdata%/npm
w Eksploratorze, Uruchom znak zachęty lub z menu start.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-29 08:01:47
Próbowałem Rozwiązanie Kai Sternad ale wydawało mi się niedoskonałe. Po ostatnim awk
z samego drzewa deps pozostało wiele specjalnych symboli.
Więc wymyśliłem własną modyfikację rozwiązania Kai Sternad (z niewielką pomocą cashmere ' s idea):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0
lista wszystkich zainstalowanych globalnie modułów npm w formacie parsable :
/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}'
wyodrębnia nazwy modułów ze ścieżek, tworząc listę wszystkich zainstalowanych globalnie modułów.
grep -vE '^(npm|)$'
usuwa sam npm i puste linie.
xargs -r npm -g rm
wywołania npm -g rm
dla każdego modułu na liście.
Podobnie jak Rozwiązanie Kai Sternad, będzie działać tylko pod *nix.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:22
sudo npm list -g --depth=0. | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Pracował dla mnie
-
sudo npm list -g --depth=0.
wyświetla listę wszystkich zainstalowanych na najwyższym poziomie -
awk -F ' ' '{print $2}'
pozbawia się ├── -
awk -F '@' '{print $1}'
pobiera część przed '@ ' -
sudo xargs npm remove -g
usuwa pakiet globalnie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-10 02:09:48
Dla użytkowników Powershell :
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
Aby wyczyścić pamięć podręczną:
npm cache clear
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-27 14:22:25
Wystarczy przełączyć się do katalogu %appdata%/npm
i uruchomić następujące..
for package in `ls node_modules`; do npm uninstall $package; done;
EDIT: to polecenie łamie się z npm 3.3.6(Node 5.0). Używam teraz następującego polecenia Bash, które zmapowałem do npm_uninstall_all w moim .plik bashrc:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
Dodany bonus? szybciej!
Https://github.com/npm/npm/issues/10187
Jak odinstalować wszystkie zależności wymienione w pakiecie.json (NPM)?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:26
W windows przejdź do "C:\Users katalog{username} \ AppData \ Roaming" i ręcznie usuń folder npm
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-15 07:56:06
Jeśli chcesz usunąć wszystkie zainstalowane pakiety, możesz użyć polecenia npm -g ls
, aby je znaleźć, a następnie npm -g rm
, aby je usunąć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-14 20:18:55
Jeśli masz zainstalowany jq , możesz przejść nawet bez grep / awk/sed:
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
Na Debianie i pochodnych możesz zainstalować jq za pomocą:
sudo apt-get install jq
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-04 08:08:24
System operacyjny nie określony przez OP. dla Windows skrypt ten może być użyty do nuke lokalnych i globalnych modułów 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. Więc usunięcie globalnego katalogu głównego może nie być dobrym pomysłem dla współdzielonego systemu. Pomijając to, mogę przenieść skrypt do bash jeśli zainteresowany.
Dla Windows Zapisz do pliku cmd, aby uruchomić.
@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%
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-09 22:30:42
Dobrze się spisałeś. Jest to połączone sugestie w jednym kodzie liniowym.
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`
Czym się różni? Deinstalacja zostanie wykonana jednym poleceniem: npm rm -g *** *** ***
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-01 20:50:20
Możesz zlokalizować wszystkie zainstalowane pakiety npm w lokalizacji:
C:\Users\username\AppData\Roaming\npm
I usuń zawartość npm, którą chcesz usunąć.
Jeśli AppData nie pokazuje, oznacza to, że jest ukryty i możesz przejść do widoku w Eksploratorze plików i sprawdzić ukryte elementy, a następnie tam możesz zobaczyć wszystkie ukryte foldery.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-02 17:01:12
Dla yarn global
nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add
Lub, jeśli nie dbasz o to, co jest w środku package.json
echo {} > ~/.config/yarn/global/package.json && yarn global add
Powinno to dotyczyć również NPM, ale nie jestem do końca pewien, gdzie jest przechowywany npm global.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-19 19:56:08
Użyj tego kodu, aby odinstalować dowolny pakiet:
npm rm -g <package_name>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-30 22:23:24
Cóż, jeśli jesteś w systemie windows i chcesz usunąć / odinstalować wszystkie node_modules, musisz wykonać następujące kroki.
- przejdź do wiersza polecenia systemu windows
- Przejdź do katalogu node_modules (nie wewnątrz katalogu node_modules )
-
Wpisz poniżej polecenie i daj na 1-2 minuty spowoduje to odinstalowanie wszystkich katalogów wewnątrz node_module
rmdir /s /q node_modules
Mam nadzieję, że to pomoże komuś na windows
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-11 11:21:13
Jeśli posiadasz Intellij Webstorm, możesz użyć jego wbudowanego graficznego menedżera pakietów.
Otwórz go jako root i utwórz projekt emtpy. przejdź do
File > Settings > Language and Framework > Node.js i NPM
Tam zobaczysz wszystkie zainstalowane pakiety. Odinstalowanie jest łatwe, możesz wybrać i odznaczyć dowolny pakiet, który chcesz odinstalować, Ctrl+A woks, jak również.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-09 15:27:41
npm ls -gp | awk -F/ '/node_modules/&&!/node_modules.*node_modules/&&!/npm/{print $NF}' | xargs npm rm -g
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-25 06:46:16
Ponieważ jest to najlepsza odpowiedź w wyszukiwaniu zamieszczam to tutaj, ponieważ było to rozwiązanie, którego używałem w przeszłości do czyszczenia laptopów przełączających komputer.
cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +
Źródło: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-19 07:05:28
Oto bardziej eleganckie rozwiązanie, które próbowałem, gdzie pozwoliłem npm wykonać całą pracę za mnie.
# 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
Wtedy jeśli wykonasz npm uninstall
lub npm remove
te moduły będą traktowane tak, jakby były normalnymi zależnościami projektu. Generuje nawet blokadę pakietów.plik json po wykonaniu:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-30 15:04:33
Jeśli masz MSYS Dla Windows:
rm -rf ${APPDATA//\\/\/}/npm
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-22 10:50:48
Npm README.md Stany:
Jeśli chcesz usunąć wszystkie zainstalowane pakiety, następnie możesz użyć polecenia
npm ls
, aby je znaleźć, a następnienpm rm
, aby usuń je.Aby usunąć cruft pozostawiony przez npm 0.x, możesz użyć dołączonego
clean-old.sh
plik skryptu. Możesz go wygodnie uruchomić w ten sposób:npm explore npm -g -- sh scripts/clean-old.sh
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-28 23:35:26
W macOS, wierzę, że można po prostu usunąć .npm-folder Globalny w katalogu użytkownika.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-30 21:54:47
Dla bardziej ręcznego podejścia, które nie wymaga eksploratorów plików, nie obchodzi, gdzie znajduje się instalacja, jest bardzo mało prawdopodobne, aby zepsuć się w późniejszym terminie i jest w 100% kompatybilne z platformami i czuje się o wiele bezpieczniej ze względu na dodatkowe kroki, użyj tego.
npm ls -g --depth=0
- Copy output
- wklej do ulubionego edytora kodu (używam vsCode. Świetna Edycja wielu kursorów)
- sprawdź, czy pakiety, które chcesz zachować (nodemon, yarn, by wymienić tylko kilka) usuń te linie
- Usuń każdą instancję
+--
lub inne dekoratory linii - Usuń wszystkie informacje o wersji (np. '
@2.11.4
') - Umieść wszystkie elementy w tej samej linii, rozdzielone spacjami
- dodaj
npm uninstall -g
do początku tej jednej linii.- mój wygląda jak
npm uninstall -g @angular/cli @vue/cli express-generator jest mocha typescript bindings nan nodemon yarn
, ale nie zainstalowałem wielu pakietów globalnie na tym komputerze.
- mój wygląda jak
- Kopiuj wiersz
- Wklej w terminalu, naciśnij enter, jeśli nie dodano jeszcze z kopiuj / wklej
- Szukaj jakichkolwiek błędów w terminal.
- Sprawdź
npm ls -g
, aby upewnić się, że jest kompletny. Jeśli coś zostało ponownie zainstalowane, przepłucz i powtórz
Inne podejścia tylko cli są świetne dla administratorów komputerowych robiących coś dla 100 prawie identycznych komputerów naraz z tego samego ssh, a może coś marionetkowego. Ale jeśli robisz to tylko raz, a nawet 5 razy w ciągu roku, jest to o wiele łatwiejsze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-03 21:07:41
Sed solution
npm -gp ls | sed -r '/npm$|(node_modules.*){2,}/d; s:.*/([^/]+)$:\1:g' | xargs npm rm -g
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-05 16:04:55
Wystarczy umieścić w konsoli:
Sudo npm list-g --depth=0. | awk-F '' '{print $2}' | awk-F '@' '{print $1}' / sudo xargs npm remove-g
Its work for me...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-04 21:31:57