Cómo desinstalar módulos npm en node js?


Como se conoce comúnmente, cualquier módulo npm se puede instalar ejecutando un comando simple: npm install <module_name>.

He instalado algunos módulos que ya no uso y solo quiero quitarlos. Tengo algunas preguntas con respecto a esto:

  • ¿Tenemos algún comando o proceso para desinstalar un módulo de la raíz (algo así como npm uninstall <module_name>) ¿o simplemente eliminará los archivos del módulo?

  • ¿Cómo nos afecta si mantenemos los módulos no utilizados?

 526
Author: Cœur, 2012-10-25

13 answers

El comando es simplemente npm uninstall <name>

Los documentos de nodejs https://npmjs.org/doc / tenga todos los comandos que necesita saber con npm.

Una instalación local estará en el directorio node_modules/ de su aplicación. Esto no afectará a la aplicación si un módulo permanece allí sin referencias.

Sin embargo, si está eliminando un paquete global, cualquier aplicación que haga referencia a él se bloqueará.

Aquí hay diferentes opciones:

npm uninstall <name> elimina el módulo de node_modules, pero no package.json

npm uninstall <name> --save también lo elimina de dependencies en package.json

npm uninstall <name> --save-dev también lo elimina de devDependencies en package.json

npm -g uninstall <name> --save también lo elimina globalmente

 718
Author: Menztrual,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-20 23:01:02

Si no funciona con npm uninstall <module_name> inténtelo globalmente escribiendo -g.

Tal vez solo necesite hacerlo como superusuario/administrador con sudo npm uninstall <module_name>.

 62
Author: fuma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-27 08:53:50

Bueno, para dar una respuesta completa a esta pregunta, hay dos métodos : (por ejemplo, llamamos al módulo instalado module1)

  1. Para eliminar el modulo1 sin cambiar el paquete.json:

    npm uninstall module1

  2. Para eliminar el modulo1 con cambiando el paquete.json, y eliminarlo de las dependencias en el paquete.json:

    npm uninstall --save module1

Nota: para simplificar los comandos mencionados anteriormente, puede usar - S en lugar de --save , y se puede utilizar quitar, rm, r, la onu, desvincular en lugar de desinstalar

 35
Author: Ehsan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-24 07:58:23

Solo instalo stylus por defecto en mi directorio de inicio, así que solo uso npm uninstall stylus para separarlo, o puedes probar npm rm <package_name>.

 15
Author: GrahamLe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-22 07:43:48

Para desinstalar el módulo node:

npm uninstall <module_name>  

Esto eliminará el módulo de node_modules, pero no del paquete.json. Así que cuando lo hacemos npm instalar de nuevo se descargará el módulo.

Así que para eliminar el módulo del paquete.uso de json:

npm uninstall <module_name> --save  

Esto también elimina la dependencia del paquete.json.

Y si desea desinstalar cualquier módulo globalmente puede utilizar:

npm -g uninstall <module_name> --save 

Esto eliminará la dependencia globalmente.

 14
Author: Vishnu Mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 04:11:05

Descubrí esto de la manera difícil, incluso si es aparentemente obvio.

Inicialmente traté de recorrer el directorio node_modules ejecutando npm uninstall module-name con un bucle for simple en un script. Descubrí que no funcionará si llamas al camino completo, por ejemplo

npm uninstall module-name

Estaba funcionando, pero

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

No Estaba funcionando.

 5
Author: kayleeFrye_onDeck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-01 21:49:39

Para usuarios de Windows-Si desea eliminar todos los módulos de nodo instalados a la vez:

  • Abre powershell
  • Ir dentro de la carpeta node_modules (cd node_modules)
  • Ejecute este comando-"npm uninstall (Get-ChildItem).Name"

Desinstalará todos los módulos.

 3
Author: Manish Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-25 11:06:06
# 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
Author: snassr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-15 13:22:22

Para eliminar paquetes en node_modules/ de forma masiva, también puede eliminarlos de package.json, guardarlos y luego ejecutar npm prune en la terminal.

Esto eliminará aquellos paquetes, que existen en el sistema de archivos, pero que no son usados/declarados package.json.

P. S> Esto es particularmente útil en Windows, ya que a menudo puede encontrar problemas al no poder eliminar algunos archivos debido al "límite de longitud de ruta excedido".

 1
Author: last-indigo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-11 12:21:06

Use npm uninstall <packageName> --save para desinstalar un paquete y eliminar su entrada en package.json.

npm uninstall -g <packageName> --save desinstalará el paquete si se agregó globalmente.

 1
Author: Manish Khemani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-16 19:55:58

El comando para desinstalar node module:

npm uninstall <module_name>

Esto desinstalará el módulo de su directorio local node-module, esto no afectará a la aplicación.

Pero si se refiere al ámbito global o desea cambiar las dependencias en package.json

Aquí hay algunas opciones diferentes

npm uninstall <module_name> --save eliminar módulo de dependencies en package.json.

npm uninstall <module_name> --save-dev eliminar módulo de devDependencies en package.json.

npm uninstall <module_name> -g --save para eliminar el módulo globalmente.

Documentación completa con todos opción, refer npm uninstall

 0
Author: Anway Bhutkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-30 05:25:49

Además, si ha comenzado a usar yarn, en lugar de npm:
yarn remove <package-name>

Es el equivalente de:
npm uninstall <package-name> --save

Esto será
- retire el paquete de package.json, así como
- desinstálalo de la carpeta node-modules de tu proyecto

 0
Author: SherylHohman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-10 08:55:36

Si desea desinstalar un número de módulos, simplemente ejecute npm uninstall. Luego vaya a package.json y elimine el módulo no deseado desde allí, y luego simplemente ejecute el comando npm install. Debería arreglar tu problema.

 -3
Author: Tanumay Ghosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-10 00:51:19