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-optional
interruptor.
Este SO Q&A titulado: npm install
instala 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-installed
interruptor. Pero los documentos no hacen ninguna referencia a este cambio.
Si está desarrollando eso node_module
usted mismo, no pierda su tiempo con npm install
s, 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_module
carpeta.src/my_app
npm link my_module
. Estos links node_modules/my_module
en este proyecto en particular a la carpeta global, por lo que require
las llamadas en busca de my_module
viento 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-package
o algo así.