Estoy intentando modificar un paquete npm con múltiples dependencias. Como tal, npm install -g .lleva mucho tiempo ejecutarlo. ¿Tengo otras opciones además de eliminar las dependencias de packages.json?
--no se ha implementado la opción opcional de acuerdo con esta documentación https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
Mirando a través de los documentos no parece tener una opción más allá del --no-optionalinterruptor.
Este SO Q&A titulado: npm installinstala todas las dependencias de mi proyecto a través de la red, incluso si ya están instaladas o disponibles desde la caché , parece implicar que hay un --skip-installedinterruptor. Pero los documentos no hacen ninguna referencia a este cambio.
Si está desarrollando eso node_moduleusted mismo, no pierda su tiempo con npm installs, en su lugar, úselo npm link.
En resumen, crea un enlace simbólico a la carpeta de su módulo en una carpeta global propiedad de npm, y luego, en la carpeta de su aplicación, le pide a npm que use esa carpeta vinculada simbólica.
Esto hace que los cambios que realice en la carpeta del módulo se reflejen inmediatamente en su aplicación.
Estos son los pasos principales (copiados del tutorial vinculado a continuación, asegúrese de leer el tutorial para los trucos importantes):
src/my_module npm link". Esto crea un enlace simbólico desde una carpeta global a la src/my_modulecarpeta.src/my_appnpm link my_module. Estos links node_modules/my_moduleen este proyecto en particular a la carpeta global, por lo que requirelas llamadas en busca de my_moduleviento de hasta cargarlo desde la carpeta de desarrollo,
src/my_module.Vea este tutorial: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
y los documentos oficiales para npm link: https://docs.npmjs.com/cli/link
Esta característica se solicitó en 2010, pero desafortunadamente se ignoró y se cerró: https://github.com/npm/npm/issues/340
Probé un montón de opciones y finalmente encontré una solución bastante simple: cambie el nombre de package.json a otra cosa antes de doint npm install, luego vuelva a volver a instalarlo después de que finalice la instalación:
fuente
--ignore-packageo algo así.