Wie allgemein bekannt, kann jedes npm-Modul durch Ausführen eines einfachen Befehls installiert werden : npm install <module_name>
.
Ich habe einige Module installiert, die ich nicht mehr benutze, und ich möchte sie nur entfernen. Ich habe ein paar Fragen dazu:
Haben wir einen Befehl oder Prozess zum Deinstallieren eines Moduls aus dem Stammverzeichnis (so etwas wie
npm uninstall <module_name>
) oder wird das Entfernen der Moduldateien einfach funktionieren?Wie wirkt es sich auf uns aus, wenn wir die nicht verwendeten Module behalten?
Antworten:
Der Befehl ist einfach
npm uninstall <name>
Die Node.js-Dokumente https://npmjs.org/doc/ enthalten alle Befehle, die Sie mit npm kennen müssen.
Eine lokale Installation befindet sich im
node_modules/
Verzeichnis Ihrer Anwendung. Dies hat keine Auswirkungen auf die Anwendung, wenn dort ein Modul ohne Verweise darauf verbleibt.Wenn Sie jedoch ein globales Paket entfernen, stürzen alle Anwendungen ab, die darauf verweisen.
Hier sind verschiedene Optionen:
npm uninstall <name>
Entfernt das Modul ausnode_modules
, aktualisiert es jedoch nichtpackage.json
npm uninstall <name> --save
entfernt es auch vondependencies
inpackage.json
npm uninstall <name> --save-dev
entfernt es auch vondevDependencies
inpackage.json
npm uninstall -g <name> --save
entfernt es auch globalquelle
npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rm
um alle global installierten Module zu deinstallieren. Wenn Sie unter Windows arbeiten, müssen Sie Cygwin oder Git installieren, um es auszuführennpm uninstall <name>
Entfernt das Modul aus node_modules, aber nicht package.json.npm uninstall <name> --save
Löschen Sie auch die Abhängigkeit aus package.json. Habennpm -g uninstall <name> --save
die Abhängigkeit global zu löschen.npm uninstall <name> now removes the module from both
package.json` undnode_modules
Wenn es nicht funktioniert,
npm uninstall <module_name>
versuchen Sie es global durch Eingabe-g
.Vielleicht müssen Sie es nur als SuperUser / Administrator mit tun
sudo npm uninstall <module_name>
.quelle
-g
ist hilfreich, wenn es eine gibtnpm WARN uninstall
.Um diese Frage vollständig zu beantworten, gibt es zwei Methoden : (Zum Beispiel nennen wir das installierte Modul als Modul1)
So entfernen Sie module1, ohne package.json zu ändern:
npm uninstall module1
So entfernen Sie module1 mit package.json zu ändern, und es von den Abhängigkeiten in package.json Entfernung:
npm uninstall --save module1
Hinweis: Um die oben genannten Befehle zu vereinfachen, können Sie -S anstelle von --save und remove , rm , r , un , unlink anstelle von deinstallieren verwenden
quelle
Ich installiere den Stift standardmäßig unter meinem Home-Verzeichnis, damit ich ihn einfach
npm uninstall stylus
abnehmen kann, oder Sie können es ausprobierennpm rm <package_name>
.quelle
So deinstallieren Sie das Knotenmodul:
Dadurch wird das Modul aus node_modules entfernt, jedoch nicht aus package.json. Wenn wir also npm erneut installieren, wird das Modul heruntergeladen.
Um das Modul aus package.json zu entfernen, verwenden Sie:
Dadurch wird auch die Abhängigkeit von package.json gelöscht.
Und wenn Sie ein globales Modul deinstallieren möchten, können Sie Folgendes verwenden:
Dadurch wird die Abhängigkeit global gelöscht.
quelle
Um Pakete in großen
node_modules/
Mengen zu entfernen , können Sie sie auch entfernenpackage.json
, speichern und dannnpm prune
auf dem Terminal ausführen .Dadurch werden die Pakete entfernt, die im Dateisystem vorhanden sind, aber nicht verwendet / deklariert werden
package.json
.PS> Dies ist besonders unter Windows nützlich, da häufig Probleme auftreten können, wenn einige Dateien aufgrund der "Überschreitung der Pfadlänge" nicht gelöscht werden können.
quelle
Ich habe das auf die harte Tour herausgefunden, auch wenn es scheinbar offensichtlich ist.
Ich habe zunächst versucht, das Verzeichnis node_modules zu durchlaufen, das
npm uninstall module-name
mit einer einfachen for-Schleife in einem Skript ausgeführt wird. Ich habe herausgefunden, dass es nicht funktioniert, wenn Sie den vollständigen Pfad aufrufen, zarbeitete, aber
hat nicht gearbeitet.
quelle
Sie können auch Folgendes als Kurzform ausführen:
npm un packageName
odernpm rm packageName
Hinweis: Fügen Sie
-g
am Ende des Befehls hinzu, um globale Pakete zu deinstallieren.quelle
Manchmal
npm uninstall -g packageName
funktioniert es nicht.In diesem Fall können Sie das Paket manuell löschen.
Gehen Sie auf dem Mac zum Ordner
/usr/local/lib/node_modules
und löschen Sie den Ordner mit dem gewünschten Paket. Das ist es. Überprüfen Sie Ihre Liste der global installierten Pakete mit diesem Befehlnpm list -g --depth=0
quelle
Für Windows-Benutzer - Wenn Sie alle gleichzeitig installierten Knotenmodule entfernen möchten:
Es werden alle Module deinstalliert.
quelle
Update npm 5:
Ab npm 5.0.0 werden installierte / deinstallierte Module standardmäßig als Abhängigkeit hinzugefügt / entfernt, sodass die Option --save nicht mehr benötigt wird.
Lauf
zum Beispiel:
Das Modul wird auch aus dem Ordner node_modules und der Datei package.json entfernt
quelle
Die
uninstall
Option hat bei mir nicht funktioniert, als ich versucht habe, den gleichen Befehl wie bei der Installation zu verwenden (da ich mit der@latest
Direktive installiert habe ).So habe ich zum Beispiel ein Paket wie das folgende installiert:
Und dann wollte ich es deinstallieren, also habe ich den gleichen Befehl verwendet (einschließlich @latest)
Die obige Deinstallation hat also nicht funktioniert, ich muss das entfernen
@latest
und dann hat es gut funktioniertich hoffe das hilft
quelle
quelle
Die einfachste Lösung ist:
Siehe Paketnamen der oberen Ebene in Ihrem Projekt:
Die Ausgabe lautet wie folgt:
Kopieren Sie den Paketnamen und führen Sie den Befehl npm uninstall aus. Beispiel für Expresspaket:
quelle
Um ein Modul mit npm zu deinstallieren, können Sie Folgendes verwenden:
Wenn Sie deinstallieren möchten und möchten, dass die Änderung in Ihrer package.json übernommen wird, können Sie das Flag --save wie folgt verwenden:
Wenn Sie ein Modul von devDependencies deinstallieren und möchten, dass die Änderung in package.json übernommen wird, können Sie das Flag -D wie folgt verwenden:
quelle
So deinstallieren Sie das Knotenmodul:
Dadurch wird das Modul aus node_modules entfernt, jedoch nicht aus package.json.
Entfernen Sie das Modul aus package.json. Verwenden Sie dazu den folgenden Befehl:
Dies wird auch aus package.json gelöscht.
quelle
Wenn Sie mit der Verwendung begonnen haben
yarn
, anstelle vonnpm
:yarn remove <package-name>
Ist das Äquivalent von:
npm uninstall <package-name> --save
Dies wird
- entfernen Sie das Paket aus
package.json
, sowie- deinstallieren Sie es von Ihrem
node-modules
Projektordnerquelle
Verwenden
Beispiel zum Deinstallieren von Express
quelle
Wenn Sie Windows sind, führen Sie CMD als Administrator aus und geben Sie ein
npm -g uninstall <package name>
.quelle
Wenn Sie eine Reihe von Modulen deinstallieren möchten, führen Sie einfach das aus
npm uninstall
. Gehen Sie dann zupackage.json
und löschen Sie das unerwünschte Modul von dort und führen Sie dann einfach den Befehl ausnpm install
. Es sollte Ihr Problem beheben.quelle