Cómo limpiar la carpeta node modules de los paquetes que no están en el paquete.json?
Supongamos que instalo paquetes de proyecto con npm install
que busca en package.json
los módulos que se instalarán. Después de un tiempo veo que no necesito algún módulo específico y elimino su dependencia de package.json
. Luego elimino algunos otros módulos de package.json
porque ya no son necesarios y otros se reemplazan con alternativas.
Ahora quiero limpiar la carpeta node_modules
para que solo los módulos listados en package.json
permanezcan allí y el resto deba irse, algo así como npm clean
. Sé que puedo eliminarlos manualmente pero me gustaría tener un poco de funcionalidad de azúcar listo para usar para eso.
8 answers
Creo que estás buscando npm prune
npm prune [<name> [<name ...]]
Este comando elimina paquetes "extraños". Si un nombre de paquete es siempre, entonces solo los paquetes que coincidan con uno de los nombres suministrados son quitar.
Los paquetes extraños son paquetes que no están lista de dependencias del paquete padre.
Ver los documentos: https://docs.npmjs.com/cli/prune
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-02-01 19:53:31
Puede eliminar su carpeta node_modules/ y luego reinstalar las dependencias del paquete.json.
rm -rf node_modules/
npm install
Esto borraría todos los paquetes instalados en la carpeta actual y solo instalaría las dependencias desde el paquete.json. Si las dependencias se han instalado previamente, npm intentará usar la versión en caché, evitando descargar la dependencia por segunda vez.
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
2014-01-14 19:43:45
Debido a su anidamiento de carpetas, Windows no puede eliminar la carpeta ya que su nombre es demasiado largo. Para resolver esto, instale RimRaf:
npm install rimraf -g
rimraf node_modules
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-09-10 07:02:28
Primero instale globalmente rimraf
npm install rimraf -g
Vaya a la ruta usando cmd donde su carpeta node_modules y aplique debajo del comando
rimraf node_modules
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-07-23 20:40:24
¿Has probado npm prune?
Debería desinstalar todo lo que no aparece en el archivo del paquete
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
2014-01-14 19:50:52
Simple simplemente ejecute
rm -r node_modules
De hecho, puede eliminar cualquier carpeta con esto.
Como rm-r AnyFolderWhichIsNotDeletableFromshiftdeleteordelete.
Basta con abrir el gitbash mover a la raíz de la carpeta y ejecutar este comando
Espero que esto ayude.
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-03-16 10:19:07
Para el usuario de Windows, solución alternativa para eliminar dicha carpeta que aparece aquí: http://ask.osify.com/qa/567
Entre ellos, una herramienta gratuita: Long Path Fixer es bueno probar: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
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-10-12 04:57:19
Utilice el siguiente comando en lugar de npm install
npm ci
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-03-22 09:42:20