Gibt es einen Befehl zum Entfernen aller globalen npm-Module? Wenn nicht, was schlagen Sie vor?
381
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 kommen
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
Fü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 .quelle
%USERPROFILE%\AppData\npm
ohne das verschoben zu werdenroaming
.npm install
erneuten Ausführen auf EINTEGRITY-Fehler gestoßen . Ich musste auch meinepackage-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
listet alle global installierten npm-Module im analysierbaren Format auf: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
ruftnpm -g rm
für jedes Modul in der Liste auf.Wie die Lösung von Kai Sternad funktioniert es nur unter * nix.
quelle
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 hinzuawk
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
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 globalquelle
npm 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 :
So leeren Sie den Cache:
quelle
Wechseln Sie einfach in Ihr
%appdata%/npm
Verzeichnis und führen Sie Folgendes aus ...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:
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?
quelle
npm
undn
vor demtr
Gehen Sie in Windows zum Verzeichnis "C: \ Users {Benutzername} \ AppData \ Roaming" und entfernen Sie den Ordner "npm" manuell
quelle
Wenn Sie alle von Ihnen installierten Pakete entfernen möchten, können Sie sie mit dem
npm -g ls
Befehl suchen und anschließendnpm -g rm
entfernen.quelle
Wenn Sie jq installiert haben, können Sie auch ohne grep / awk / sed gehen:
Auf Debian und abgeleitet können Sie jq installieren mit:
quelle
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.
quelle
Verwenden Sie diesen Code, um ein Paket zu deinstallieren:
quelle
Alles was du gut gemacht hast. Dies sind Vorschläge in einem Zeilencode zusammengefasst.
Was ist anders? Die Deinstallation erfolgt in einem einzigen Befehl wie:
npm rm -g *** *** ***
quelle
Sie können alle installierten npm-Pakete am folgenden Standort finden:
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.
quelle
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
Hoffe das hilft jemandem unter Windows
quelle
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
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.
quelle
Zum
yarn global
Oder wenn Sie sich nicht darum kümmern, was tatsächlich drin ist
package.json
Dies sollte auch für NPM gelten, aber ich bin nicht genau sicher, wo NPM global gespeichert ist.
quelle
quelle
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.
Quelle: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
quelle
Hier ist eine elegantere Lösung, die ich ausprobiert habe, indem ich npm die ganze Arbeit für mich erledigen ließ.
Dann , wenn Sie tun
npm uninstall
odernpm 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:quelle
sed Lösung
quelle
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 ...
quelle