Supongamos que instalo paquetes de proyectos con los npm installque se buscan package.jsonmódulos para instalar. Después de un tiempo veo que no necesito algún módulo específico y elimino su dependencia package.json. Luego elimino algunos otros módulos package.jsonporque ya no son necesarios y otros son reemplazados por alternativas.
Ahora quiero limpiar la node_modulescarpeta para que solo los módulos enumerados se package.jsonqueden allí y el resto debe ir, algo así npm clean. Sé que puedo eliminarlos manualmente, pero me gustaría tener una buena funcionalidad de azúcar lista para usar para eso.

node_modulescarpeta raíz , y no como antes, donde cada dependencia tenía sus propias dependencias instaladas en sus propiasnode_modulescarpetas ... con innumerables copias de las mismas dependencias ... Entonces, ¿npm prunetiene esto en cuenta? porque esas dependencias profundas no están escritas en la parte principalpackage.jsonde su proyecto ... la ciruela debe verse de forma recursivanpm dedupedocs.npmjs.com/cli/dedupe . Intenta simplificar el árbol de nodos moviendo las dependencias hacia arriba del árbol.Puede eliminar su carpeta node_modules / y luego reinstalar las dependencias de package.json.
Esto borraría todos los paquetes instalados en la carpeta actual y solo instalaría las dependencias de package.json. Si las dependencias se han instalado previamente, npm intentará usar la versión en caché, evitando descargar la dependencia por segunda vez.
fuente
rmdir node_modules /s /qen Windows. superuser.com/a/179661/440976pruneopción requiere que tengas conexión a internet.fuente
rm -rf node_modulesrm -rf node_modulesNo funcionará en Windows. Ver esta solución: superuser.com/a/179661/440976simple solo corre
de hecho, puedes eliminar cualquier carpeta con esto.
como rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete .
simplemente abra el movimiento gitbash a la raíz de la carpeta y ejecute este comando
Espero que esto ayude.
fuente
Primero instale rimraf a nivel mundial
vaya a la ruta usando cmd donde está la carpeta node_modules y aplique el siguiente comando
fuente
npm pruneEs una solución ideal.¿Has probado npm prune?
Debería desinstalar todo lo que no figura en su archivo de paquete
https://npmjs.org/doc/cli/npm-prune.html
fuente
desde la versión 6.5.0 npm admite el comando
clean-installpara actualizar todos los paquetesfuente
He agregado algunas líneas dentro de package.json:
Si
cleansolo quieres puedes usar estorimraf node_modulesorm -rf node_modules.Funciona bien
fuente
Para el usuario de Windows, la solución alternativa para eliminar dicha carpeta se enumera aquí: http://ask.osify.com/qa/567
Entre ellos, una herramienta gratuita: Long Path Fixer es bueno para probar: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
fuente
El mejor artículo que encontré al respecto es este: https://trilon.io/blog/how-to-delete-all-nodemodules-recursively
Todo desde la consola y fácil de ejecutar desde cualquier punto de carpeta.
Pero como resumen del artículo, este comando busca el tamaño de cada
node_modulecarpeta encontrada en diferentes proyectos.Y para eliminarlos realmente:
El artículo también contiene instrucciones para el shell de Windows.
fuente
Elimine / edite los paquetes que no son necesarios en package-lock.json (los nombres de los paquetes se escribirán en dependencias y devDependencies) y luego
npm installfuente
Utilice el siguiente comando en lugar de npm install
fuente