Antworten:
Der folgende Befehl entfernt alle globalen npm-Module. Hinweis: Dies funktioniert unter Windows nicht. Eine funktionierende Windows-Version finden Sie in Ollie Bennetts Antwort .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
So funktioniert es:
npm ls -gp --depth=0
listet alle globalen Top-Level-Module auf (siehe die CLI-Dokumentation für ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
druckt alle Module, die eigentlich nicht npm selbst sind (endet nicht mit /npm
)xargs npm -g rm
Entfernt alle Module global, die über die vorherige Pipe kommenFür Benutzer von Windows ist der einfachste Weg, alle global installierten npm-Pakete zu entfernen, das Löschen des Inhalts von:
C:\Users\username\AppData\Roaming\npm
Sie können schnell dorthin gelangen, indem Sie %appdata%/npm
entweder den Explorer, die Eingabeaufforderung oder das Startmenü eingeben .
%USERPROFILE%\AppData\npm
ohne das verschoben zu werden roaming
.
npm install
erneuten Ausführen auf EINTEGRITY-Fehler gestoßen . Ich musste auch meine package-lock.json
Datei löschen .
Ich habe Kai Sternads Lösung ausprobiert , aber sie schien mir unvollkommen zu sein. Es gab viele spezielle Symbole nach dem letzten awk
vom Deps-Baum selbst.
Also habe ich mir meine eigene Modifikation der Lösung von Kai Sternad ausgedacht (mit ein wenig Hilfe von Cashmere's Idee ):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0
listet alle global installierten npm-Module im analysierbaren Format auf:
/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}'
Extrahiert Modulnamen aus Pfaden und bildet die Liste aller global installierten Module.
grep -vE '^(npm|)$'
Entfernt npm selbst und Leerzeilen.
xargs -r npm -g rm
ruft npm -g rm
für jedes Modul in der Liste auf.
Wie die Lösung von Kai Sternad funktioniert es nur unter * nix.
npm
alle globalen Module werden im selben Verzeichnis installiert. Der genaue Ort kann variieren, ist es aber normalerweise /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
) verarbeiten. Ich füge einen weiteren Matcher für hinzu awk
und der Arbeitsbefehl für mich sieht folgendermaßen aus: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
arbeitete für mich
sudo npm list -g --depth=0.
listet alle installierten Top Level aufawk -F ' ' '{print $2}'
wird ├── losawk -F '@' '{print $1}'
bekommt das Teil vor '@'sudo xargs npm remove -g
Entfernt das Paket globalnpm remove UNMET
wie NOOP.
grep -v npm
damit npm selbst nicht entfernt wird:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Für diejenigen, die Powershell verwenden :
npm -gp ls --depth=0 | ForEach-Object { Get-Item $_ } | Where { $_.Name -ne 'npm' } | ForEach-Object { npm rm -g $_.Name }
So leeren Sie den Cache:
npm cache clear
Wechseln Sie einfach in Ihr %appdata%/npm
Verzeichnis und führen Sie Folgendes aus ...
for package in `ls node_modules`; do npm uninstall $package; done;
BEARBEITEN: Dieser Befehl bricht mit npm 3.3.6 (Knoten 5.0) ab. Ich verwende jetzt den folgenden Bash-Befehl, den ich in meiner .bashrc-Datei npm_uninstall_all zugeordnet habe:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
Bonus hinzugefügt? es ist viel schneller!
https://github.com/npm/npm/issues/10187
Wie deinstallieren Sie alle in package.json (NPM) aufgeführten Abhängigkeiten?
npm
und n
vor demtr
Gehen Sie in Windows zum Verzeichnis "C: \ Users {Benutzername} \ AppData \ Roaming" und entfernen Sie den Ordner "npm" manuell
Wenn Sie jq installiert haben, können Sie auch ohne grep / awk / sed gehen:
npm ls -g --json --depth=0 |
jq -r '.dependencies|keys-["npm"]|join("\n")' |
xargs npm rm -g
Auf Debian und abgeleitet können Sie jq installieren mit:
sudo apt-get install jq
json
Stil.
npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
Betriebssystem nicht von OP angegeben. Unter Windows kann dieses Skript verwendet werden, um die lokalen und globalen Module und den Cache des Benutzers zu zerstören.
Ich habe unter Linux festgestellt, dass der globale Stamm für das System wirklich global ist und nicht für den angegebenen Benutzer. Das Löschen des globalen Stamms ist daher möglicherweise keine gute Idee für ein gemeinsam genutztes System. Abgesehen davon kann ich das Skript bei Interesse auf Bash portieren .
Zum Speichern Windows in einer Cmd-Datei, um sie auszuführen.
@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%
Verwenden Sie diesen Code, um ein Paket zu deinstallieren:
npm rm -g <package_name>
Sie können alle installierten npm-Pakete am folgenden Standort finden:
C:\Users\username\AppData\Roaming\npm
und löschen Sie den Inhalt von npm, den Sie entfernen möchten.
Wenn AppData nicht angezeigt wird, bedeutet dies, dass es ausgeblendet ist. Sie können im Datei-Explorer zur Ansicht gehen und die ausgeblendeten Elemente aktivieren. Dort werden alle ausgeblendeten Ordner angezeigt.
Wenn Sie unter Windows arbeiten und alle node_modules entfernen / deinstallieren möchten, müssen Sie die folgenden Schritte ausführen.
Geben Sie den folgenden Befehl ein und geben Sie ihn 1-2 Minuten lang ein. Dadurch werden alle Verzeichnisse in node_module deinstalliert
rmdir /s /q node_modules
Hoffe das hilft jemandem unter Windows
Wenn Sie über Intellij Webstorm verfügen, können Sie den integrierten grafischen Paketmanager verwenden.
Öffnen Sie es als root und erstellen Sie ein emtpy-Projekt. gehe zu
Datei> Einstellungen> Sprache und Frameworks> Node.js und NPM
Dort sehen Sie alle installierten Pakete. Die Deinstallation ist einfach. Sie können jedes Paket, das Sie deinstallieren möchten, auswählen und die Auswahl aufheben. Strg + a Woks.
Zum yarn global
nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add
Oder wenn Sie sich nicht darum kümmern, was tatsächlich drin ist package.json
echo {} > ~/.config/yarn/global/package.json && yarn global add
Dies sollte auch für NPM gelten, aber ich bin nicht genau sicher, wo NPM global gespeichert ist.
Da dies die beste Antwort bei der Suche ist, poste ich dies hier, da es die Lösung war, die ich in der Vergangenheit zum Reinigen der Computer-Switching-Laptops verwendet habe.
cd ~/Documents # or where you keep your projects
find . -name "node_modules" -exec rm -rf '{}' +
Quelle: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
Hier ist eine elegantere Lösung, die ich ausprobiert habe, indem ich npm die ganze Arbeit für mich erledigen ließ.
# 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
Dann , wenn Sie tun npm uninstall
oder npm remove
diese Module werden so behandelt, als ob sie normale Abhängigkeiten eines Projekts waren. Es generiert sogar eine package-lock.json-Datei, wenn es fertig ist:
$ npm remove <package-name> # you may need sudo if it was installed using sudo
Legen Sie einfach Ihre Konsole ein:
sudo npm list -g --depth = 0. | awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm entfernen -g
Seine Arbeit für mich ...
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Erläuterung: Auf Leerzeichen oder @ teilen, nur Zeilen mit @ abgleichen, der Modulname ist der vorletzte match ($(NF-1)
), also nur drucken wenn nichtnpm