Nachdem npm init
ich Abhängigkeiten in meiner package.json hinzufügen kann, gehen Sie folgendermaßen vor:
npm install package --save
Und sagen Sie, ich möchte uninstall
das Paket und ich tue dies, indem ich:
npm uninstall package
Ich möchte jedoch, dass meine package.json auch entsprechend aktualisiert wird, ohne dass ich manuell zur Datei gehen und diese Zeile löschen muss.
In den npm-Dokumenten heißt es:
Es ist streng additiv und löscht daher keine Optionen aus Ihrer package.json ohne einen wirklich guten Grund dafür.
Ich wollte nur wissen, ob dies überhaupt möglich ist.
Antworten:
Verwenden Sie die gleiche
--save
Flagge. Wenn Sie eine Abhängigkeit installiert haben mit:Sie können es deinstallieren, wobei package.json aktualisiert wird, indem Sie Folgendes verwenden:
Das 'save'-Flag weist npm an, package.json basierend auf der Operation zu aktualisieren, die Sie gerade ausgeführt haben.
quelle
--save-dev
stattdessen verwenden--save
.dependencies
Abschnitt der Datei package.json speichert, während --save-dev imdevDependencies
Abschnittnpm i <package_name> -S
, um zu Ihrerdependencies
Listenpm i <package_name> -D
hinzuzufügen oder um zu Ihrer hinzuzufügendev-dependencies
. Die gleiche Flagge gilt für die Entfernung mitnpm rm <package_name> -S
odernpm rm <package_name> -D
npm help
für alle Flaggen und ihre Kurzformäquivalente. (Alles, was mit -S oder --save installiert und auch mit entweder deinstalliert werden kann, wird von npm nicht als unterschiedlich angesehen. Nur "wenigerIn meinem Fall hat --save den Eintrag aus package.json nicht gelöscht. Der von ionic-check vorgeschlagene Befehl wird meiner Meinung nach nicht aktualisiert, wenn die Deinstallation mit Fehlern beendet wird. Package.json wird nicht aktualisiert. In diesem Fall haben Sie nur eine Option package.json manuell zu ändern, ist mühsam, aber der einzige Weg, den ich denke
AKTUALISIEREN
Wenn Sie ein Paket deinstallieren, das von einem anderen aktiven Paket abhängig ist, kann die Deinstallation in diesem Fall mit Fehlern / Warnungen fehlschlagen. Die sichere Methode besteht darin, dem folgenden Abhängigkeitsdiagramm zu folgen und nicht sicher zu sein, ob ein Tool verfügbar ist, ein praktisches Tool unter solchen Vorgängen, Warnung Nachrichten sind ziemlich irreführend, obwohl "Sie müssen Peer-Abhängigkeiten installieren ..." keinen Sinn ergibt, wenn wir ein Paket deinstallieren
quelle
dependencies
Liste enthalten ist,uninstall --save
sollte es entfernt werden, unabhängig davon, ob etwas anderes davon abhängt. NPM verwendet eine ziemlich clevere Abhängigkeitsreduzierung. Wenn Sie also X (explizit) in Ihrer Abhängigkeitsliste haben und X --save deinstallieren, wird es entfernt. Beachten Sie jedoch, dass es mehrere Abhängigkeitslisten und--save
ist nicht das gleiche wie--save-dev
,--save-prod
oder--save-optional
. Auch ja: Wenn diesuninstall
zu Fehlern führt, stoppt NPM bei diesem Fehler. Es wird nicht versucht, fortzufahren, da es die Richtigkeit nicht mehr garantieren kann.