Come disinstallare i moduli npm nel nodo js?


1132

Come noto, qualsiasi modulo NPM può essere installato eseguendo un semplice comando: npm install <module_name>.

Ho installato alcuni moduli che non utilizzo più e voglio solo toglierli. Ho alcune domande al riguardo:

  • Abbiamo qualche comando o processo per disinstallare un modulo dalla radice (qualcosa del genere npm uninstall <module_name>) o semplicemente rimuoverà i file del modulo?

  • Come ci influenza se manteniamo i moduli inutilizzati?


2
Se vuoi rimuovere tutti i moduli npm, vai qui: stackoverflow.com/questions/9283472/…
daniel

Risposte:


1730

Il comando è semplicemente npm uninstall <name>

I documenti Node.js https://npmjs.org/doc/ hanno tutti i comandi che devi sapere con npm.

Un'installazione locale sarà nella node_modules/directory dell'applicazione. Ciò non influirà sull'applicazione se un modulo rimane lì senza riferimenti ad esso.

Se stai rimuovendo un pacchetto globale, tuttavia, tutte le applicazioni che fanno riferimento a esso si arresteranno in modo anomalo.

Qui ci sono diverse opzioni:

npm uninstall <name>rimuove il modulo da node_modulesma non si aggiornapackage.json

npm uninstall <name> --savelo rimuove anche da dependenciesinpackage.json

npm uninstall <name> --save-devlo rimuove anche da devDependenciesinpackage.json

npm uninstall -g <name> --save lo rimuove anche a livello globale


19
prova questo npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rmper disinstallare tutti i moduli installati a livello gobale. se sei su Windows, devi installare Cygwin o git per eseguirlo
Nur Rony,

1
Per disinstallare tutti i moduli globali: stackoverflow.com/questions/5926672/... E node_modules eliminare la cartella per la disinstallazione di tutti i moduli locali di eliminazione node_modules locali cartella
DanteTheSmith

1
Ho provato a rimuovere cypress@3.1.4 usando tutti i comandi sopra elencati, ed è ancora lì
Steve Staple

20
npm uninstall <name> now removes the module from both package.json` enode_modules
philip oghenerobo balogun,

1
a partire dal 2019, il nodo 13 (credo anche 10+) rimuove i pacchetti da package.json vianpm uninstall <name>
Maksim Shamihulau,

86

Se non funziona, npm uninstall <module_name>provalo a livello globale digitando -g.

Forse hai solo bisogno di farlo come superUser / amministratore con sudo npm uninstall <module_name>.


4
-gè utile se c'è un npm WARN uninstall.
Lorem Ipsum Dolor,

49

Bene per dare una risposta completa a questa domanda, ci sono due metodi : (ad esempio chiamiamo il modulo installato come module1)

  1. Per rimuovere module1 senza cambiare package.json:

    npm uninstall module1

  2. Per rimuovere module1 con la modifica di package.json e rimuoverlo dalle dipendenze in package.json:

    npm uninstall --save module1

Nota: per semplificare i comandi sopra menzionati, è possibile utilizzare -S anziché --save e utilizzare remove , rm , r , un , unlink anziché disinstallazione


Per completezza, si dovrebbe fare attenzione se si desidera rimuovere la dipendenza GLOBALE o LOCALE. Per i globi usa -g con quanto sopra! Inoltre: Per disinstallare tutti i moduli globali: stackoverflow.com/questions/5926672/... E node_modules eliminare la cartella Per disinstallare tutti i moduli locali di eliminazione node_modules locali cartella
DanteTheSmith

28

Installo lo stilo per impostazione predefinita nella mia home directory, quindi lo uso solo npm uninstall stylusper staccarlo, oppure puoi provarlo npm rm <package_name>.


17

Per disinstallare il modulo nodo:

npm uninstall <module_name>  

Questo rimuoverà il modulo da node_modules, ma non da package.json. Quindi quando eseguiamo di nuovo l'installazione di npm scaricherà il modulo.

Quindi per rimuovere il modulo da package.json usare:

npm uninstall <module_name> --save  

Questo elimina anche la dipendenza da package.json.

E se vuoi disinstallare qualsiasi modulo a livello globale puoi usare:

npm -g uninstall <module_name> --save 

Ciò eliminerà la dipendenza a livello globale.


7

Per rimuovere i pacchetti in node_modules/blocco, è possibile rimuoverli package.json, salvarli e quindi eseguirli npm prunesul terminale.

Questo rimuoverà quei pacchetti, che esistono nel filesystem, ma non vengono usati / dichiarati package.json.

PS> Ciò è particolarmente utile su Windows, poiché potresti riscontrare spesso problemi con l'impossibilità di eliminare alcuni file a causa del "limite di lunghezza del percorso superato".


6

L'ho scoperto nel modo più duro, anche se è apparentemente ovvio.

Inizialmente ho provato a scorrere la directory node_modules in esecuzione npm uninstall module-namecon un semplice ciclo for in uno script. Ho scoperto che non funzionerà se chiami il percorso completo, ad es

npm uninstall module-name

stava funzionando, ma

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

non funzionava.


6

È inoltre possibile eseguire la seguente scorciatoia:

npm un packageName o npm rm packageName

Nota: aggiungere -galla fine del comando per disinstallare i pacchetti globali.


4

Per utenti Windows: se si desidera rimuovere tutti i moduli nodo installati contemporaneamente:

  • Apri PowerShell
  • Vai nella cartella node_modules (cd node_modules)
  • Esegui questo comando - "npm uninstall (Get-ChildItem) .Name"

Disinstalla tutti i moduli.


4

A volte npm uninstall -g packageNamenon funziona.

In questo caso è possibile eliminare il pacchetto manualmente.

Su Mac vai alla cartella /usr/local/lib/node_modulesed elimina la cartella con il pacchetto che desideri. Questo è tutto. Controlla il tuo elenco di pacchetti installati a livello globale con questo comandonpm list -g --depth=0


Solo curioso, perché in alcuni casi "npm uninstall -g nomepacchetto" non funziona?
Mwiza,

perché è un enorme codice buggy ... è davvero difficile adattarsi a ogni versione del sistema operativo. Penso che sia questo il motivo
Nastro

3

Aggiornamento npm 5:

A partire da npm 5.0.0 , i moduli installati / disinstallati vengono aggiunti / rimossi come dipendenza per impostazione predefinita, quindi l'opzione --save non è più necessaria.

correre

npm uninstall <package>

per esempio:

npm uninstall mongodb

Rimuoverà anche il modulo dalla cartella node_modules e dal file package.json


1
Vero; se vuoi il vecchio comportamento predefinito (lasciando intatto package.json), usa il flag --no-save docs.npmjs.com/cli/install
Marcus

2

L' uninstallopzione non ha funzionato per me quando ho provato a usare lo stesso comando di quello che ho usato durante l'installazione (mentre stavo installando con il@latest direttiva)

Quindi, per esempio, ho installato un pacchetto come questo:

npm install  @ngtools/webpack@latest

E poi volevo disinstallarlo, quindi ho usato lo stesso comando (incluso @latest)

npm uninstall  @ngtools/webpack@latest

Quindi la disinstallazione sopra non ha funzionato, devo rimuovere @lateste poi ha funzionato bene

npm uninstall  @ngtools/webpack

spero che questo possa essere d'aiuto


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

1

La soluzione più semplice è:

npm uninstall packageName --save-dev

Vedi i nomi dei pacchetti di livello superiore nel tuo progetto:

npm list --depth=0

L'output sarà come:

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

Copia il nome del pacchetto ed esegui il comando di disinstallazione di npm. Esempio per pacchetto espresso:

npm uninstall express --save-dev

1

Per disinstallare un modulo utilizzando npm, è possibile utilizzare:

npm uninstall moduleName

Inoltre, se si desidera disinstallare e si desidera che la modifica si rifletta nel proprio package.json, è possibile utilizzare il flag --save, in questo modo:

npm uninstall moduleName --save
OR
npm uninstall -S

E se vuoi disinstallare un modulo da devDependencies e vuoi che la modifica si rifletta in package.json, allora puoi usare -D flag, in questo modo:

npm uninstall moduleName -D

1

Per disinstallare il modulo nodo:

npm uninstall <module_name>  

Questo rimuoverà il modulo da node_modules, ma non da package.json.

Rimuovere il modulo dall'uso di package.json usando questo comando:

npm uninstall <module_name> --save 

Questo elimina anche da package.json.


0

Inoltre, se hai iniziato a utilizzare yarn, al posto di npm:
yarn remove <package-name>

È l'equivalente di:
npm uninstall <package-name> --save

Questo
- rimuoverà il pacchetto package.json, oltre a
- lo disinstallerà dalla node-modulescartella del progetto


0

È possibile eliminare manualmente un modulo nodo. Per Windows,

  1. Vai alla node_modulesdirectory del tuo repository.

  2. Elimina il modulo nodo che non desideri.

  3. Non dimenticare di rimuovere il riferimento al modulo nel tuo package.json! Il progetto potrebbe ancora essere eseguito con il riferimento, ma potresti ricevere un errore. Inoltre, non vuoi lasciare riferimenti inutilizzati nel tuo package.jsonche possono causare confusione in seguito.


-1

Uso

npm uninstall <package_name>

Esempio per disinstallare express

npm uninstall express

-1

Se sei Windows, esegui CMD come amministratore e digita npm -g uninstall <package name>.


-2

Se vuoi disinstallare un numero di moduli, esegui il npm uninstall. Quindi vai a package.jsoned elimina il modulo indesiderato da lì, quindi esegui semplicemente il comando npm install. Dovrebbe risolvere il tuo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.