Wie deinstalliere ich npm Module in Node js?

1130

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?

Manish Kumar
quelle
2
Wenn Sie alle npm-Module entfernen möchten, gehen Sie hier: stackoverflow.com/questions/9283472/…
Daniel

Antworten:

1728

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 aus node_modules, aktualisiert es jedoch nichtpackage.json

npm uninstall <name> --saveentfernt es auch von dependenciesinpackage.json

npm uninstall <name> --save-deventfernt es auch von devDependenciesinpackage.json

npm uninstall -g <name> --save entfernt es auch global

Menztrual
quelle
19
Versuchen Sie dies, npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rmum alle global installierten Module zu deinstallieren. Wenn Sie unter Windows arbeiten, müssen Sie Cygwin oder Git installieren, um es auszuführen
Nur Rony
198
Ein paar Tipps: npm uninstall <name>Entfernt das Modul aus node_modules, aber nicht package.json. npm uninstall <name> --saveLöschen Sie auch die Abhängigkeit aus package.json. Haben npm -g uninstall <name> --savedie Abhängigkeit global zu löschen.
Raine Revere
1
Zum Deinstallieren aller globalen Module: stackoverflow.com/questions/5926672/… Und löschen Sie den Ordner node_modules. Zum Deinstallieren aller lokalen Module löschen Sie den lokalen Ordner node_modules
DanteTheSmith
1
Ich habe versucht, [email protected] mit allen oben aufgeführten Befehlen zu entfernen, und es ist immer noch da
Steve Staple
20
npm uninstall <name> now removes the module from both package.json` undnode_modules
philip oghenerobo balogun 18.
86

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>.

Fuma
quelle
4
-gist hilfreich, wenn es eine gibt npm WARN uninstall.
Lorem Ipsum Dolor
49

Um diese Frage vollständig zu beantworten, gibt es zwei Methoden : (Zum Beispiel nennen wir das installierte Modul als Modul1)

  1. So entfernen Sie module1, ohne package.json zu ändern:

    npm uninstall module1

  2. 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

Ehsan
quelle
Der Vollständigkeit halber sollte man vorsichtig sein, wenn man die GLOBALE oder LOKALE Abhängigkeit entfernen möchte. Für Globals verwenden Sie -g mit den oben genannten! Außerdem: Für alle globalen Module Deinstallation: stackoverflow.com/questions/5926672/... und löschen node_modules Ordner für alle Module löschen lokalen node_modules Ordner zu deinstallieren
DanteTheSmith
28

Ich installiere den Stift standardmäßig unter meinem Home-Verzeichnis, damit ich ihn einfach npm uninstall stylusabnehmen kann, oder Sie können es ausprobieren npm rm <package_name>.

GrahamLe
quelle
17

So deinstallieren Sie das Knotenmodul:

npm uninstall <module_name>  

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:

npm uninstall <module_name> --save  

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:

npm -g uninstall <module_name> --save 

Dadurch wird die Abhängigkeit global gelöscht.

Vishnu Mishra
quelle
@WernerHenze Als ich damals die Antwort 2016 gegeben habe, fehlte ein globales Deinstallationsmodul!
Vishnu Mishra
7

Um Pakete in großen node_modules/Mengen zu entfernen , können Sie sie auch entfernen package.json, speichern und dann npm pruneauf 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.

letzter Indigo
quelle
6

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-namemit einer einfachen for-Schleife in einem Skript ausgeführt wird. Ich habe herausgefunden, dass es nicht funktioniert, wenn Sie den vollständigen Pfad aufrufen, z

npm uninstall module-name

arbeitete, aber

npm uninstall /full/path/to/node_modules/module-name 

hat nicht gearbeitet.

kayleeFrye_onDeck
quelle
5

Sie können auch Folgendes als Kurzform ausführen:

npm un packageName oder npm rm packageName

Hinweis: Fügen Sie -gam Ende des Befehls hinzu, um globale Pakete zu deinstallieren.

Mwiza
quelle
4

Manchmal npm uninstall -g packageNamefunktioniert es nicht.

In diesem Fall können Sie das Paket manuell löschen.

Gehen Sie auf dem Mac zum Ordner /usr/local/lib/node_modulesund 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

Nastro
quelle
Nur neugierig, warum funktioniert "npm uninstall -g packageName" in einigen Fällen nicht?
Mwiza
weil es ein riesiger fehlerhafter Code ist ... ist es wirklich schwierig, sich an jede Betriebssystemversion anzupassen. Ich denke, das ist der Grund
Nastro
3

Für Windows-Benutzer - Wenn Sie alle gleichzeitig installierten Knotenmodule entfernen möchten:

  • PowerShell öffnen
  • Gehen Sie in den Ordner node_modules (cd node_modules)
  • Führen Sie diesen Befehl aus - "npm uninstall (Get-ChildItem) .Name"

Es werden alle Module deinstalliert.

Manish Kumar
quelle
3

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

npm uninstall <package>

zum Beispiel:

npm uninstall mongodb

Das Modul wird auch aus dem Ordner node_modules und der Datei package.json entfernt

Codespiegel
quelle
1
Wahr; Wenn Sie das alte Standardverhalten möchten (package.json bleibt unberührt), verwenden Sie das Flag --no-save docs.npmjs.com/cli/install
Marcus
2

Die uninstallOption hat bei mir nicht funktioniert, als ich versucht habe, den gleichen Befehl wie bei der Installation zu verwenden (da ich mit der @latestDirektive installiert habe ).

So habe ich zum Beispiel ein Paket wie das folgende installiert:

npm install  @ngtools/webpack@latest

Und dann wollte ich es deinstallieren, also habe ich den gleichen Befehl verwendet (einschließlich @latest)

npm uninstall  @ngtools/webpack@latest

Die obige Deinstallation hat also nicht funktioniert, ich muss das entfernen @latestund dann hat es gut funktioniert

npm uninstall  @ngtools/webpack

ich hoffe das hilft

Ahmed Elkoussy
quelle
1
# login as root (might be required depending on install)
su - 
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm
snassr
quelle
1

Die einfachste Lösung ist:

npm uninstall packageName --save-dev

Siehe Paketnamen der oberen Ebene in Ihrem Projekt:

npm list --depth=0

Die Ausgabe lautet wie folgt:

app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4

Kopieren Sie den Paketnamen und führen Sie den Befehl npm uninstall aus. Beispiel für Expresspaket:

npm uninstall express --save-dev
Jackkobec
quelle
1

Um ein Modul mit npm zu deinstallieren, können Sie Folgendes verwenden:

npm uninstall moduleName

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:

npm uninstall moduleName --save
OR
npm uninstall -S

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:

npm uninstall moduleName -D
Harshit Agarwal
quelle
1

So deinstallieren Sie das Knotenmodul:

npm uninstall <module_name>  

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:

npm uninstall <module_name> --save 

Dies wird auch aus package.json gelöscht.

Schlanker Codierer
quelle
0

Wenn Sie mit der Verwendung begonnen haben yarn, anstelle von npm:
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-modulesProjektordner

SherylHohman
quelle
0

Verwenden

npm uninstall <package_name>

Beispiel zum Deinstallieren von Express

npm uninstall express
Harry
quelle
0

Wenn Sie Windows sind, führen Sie CMD als Administrator aus und geben Sie ein npm -g uninstall <package name>.

Osama Al-Banna
quelle
-2

Wenn Sie eine Reihe von Modulen deinstallieren möchten, führen Sie einfach das aus npm uninstall. Gehen Sie dann zu package.jsonund löschen Sie das unerwünschte Modul von dort und führen Sie dann einfach den Befehl aus npm install. Es sollte Ihr Problem beheben.

Tanumay Ghosh
quelle