
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?
Respuesta1
--no-opcionalLa opción ahora está implementada de acuerdo con esta documentación.https://docs.npmjs.com/cli/install:
The --no-optional argument will prevent optional dependencies from being installed.
Respuesta2
Si lo está desarrollando node_module
usted mismo, no pierda el tiempo con npm install
s, en su lugar utilice 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 conocer los problemas importantes):
- CD a
src/my_module
- Correr "
npm link
". Esto crea un enlace simbólico desde una carpeta global a lasrc/my_module
carpeta. - CD a
src/my_app
- Correr
npm link my_module
. Esto vinculanode_modules/my_module
en este proyecto en particular a la carpeta global, de modo querequire
las llamadas que buscanmy_module
terminen cargándolo desde su carpeta de desarrollosrc/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
Respuesta3
Esta función se solicitó en 2010, pero desafortunadamente fue ignorada y cerrada:https://github.com/npm/npm/issues/340
Probé un montón de opciones y finalmente encontré una solución bastante simple: cambiar el nombre de package.json a otra cosa antes de realizar la instalación de npm, luego revertirlo después de que finalice la instalación:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
Respuesta4
Mirando a través delos documentosNo parece tener una opción más allá del --no-optional
cambio.
No probado/no confirmado
Esta sesión de preguntas y respuestas de SO se titula:npm install
Instala todas las dependencias de mi proyecto a través de la red, incluso si ya están instaladas o disponibles desde el cachéParecería implicar que hay un --skip-installed
interruptor. Pero los documentos no hacen ninguna referencia a este cambio.