Gracias. Esto es exactamente lo que necesito. ¿Dónde puedo encontrar esas opciones? Esto no se describe en 'npm help install', 'npm help config' y 'npm help scripts'.
¡Precaución! La opción --ignore-scriptsdeshabilita TODOS los scripts, incluso desde sus dependencias. Si sus dependencias necesitan ejecutar scripts para, por ejemplo, instalar algunos archivos binarios, pueden romperse / estar incompletos.
delbertooo
77
Entonces, ¿hay una técnica para instalar node_modules (y todos sus scripts) pero ignorar solo los scripts del paquete principal?
Derrick
3
No solo esto, sino que --ignore-scriptsla opción de configuración asociada (que configuré globalmente) también significará que npm run startsilenciosamente no hará nada e informará el éxito. Asombro.
Ash Berlin-Taylor
21
También puede habilitar la configuración en el archivo de configuración npm.
npm config set ignore-scripts true
Nota: Esto deshabilitará los scripts para todos los paquetes de NPM.
Para hacer esto para su propia biblioteca, le recomiendo algo simple como:
#!/usr/bin/env bash
##this is your postinstall.sh script:set-e;if["$your_pkg_skip_postinstall"=="yes"]; then
echo "skipping your package's postinstall routine.";
exit 0;
fi
¡Gracias! Esto funciona muy bien si solo está tratando de deshabilitar su propio script pero no TODOS los scripts en todas las dependencias.
Brian Neisler
@BrianNeisler eres muy bienvenido, siempre se siente bien ayudar a otras personas. Por cierto, creo que los corchetes dobles [[]] podrían ser mejores que los corchetes simples para la mayoría de los casos de uso, aunque no estoy seguro.
Alexander Mills
2
Quería deshabilitar el script postinstall para mi proyecto, pero quería que todos los scripts de las dependencias de mi proyecto se ejecutaran cuando lo haga npm install. Esto es lo que terminé haciendo.
Respuestas:
No es posible deshabilitar solo
postinstall
scripts. Sin embargo, puede deshabilitar todos los scripts usando:Como delbertooo mencionó en los comentarios, esto también deshabilita los scripts de las dependencias.
fuente
--ignore-scripts
deshabilita TODOS los scripts, incluso desde sus dependencias. Si sus dependencias necesitan ejecutar scripts para, por ejemplo, instalar algunos archivos binarios, pueden romperse / estar incompletos.--ignore-scripts
la opción de configuración asociada (que configuré globalmente) también significará quenpm run start
silenciosamente no hará nada e informará el éxito. Asombro.También puede habilitar la configuración en el archivo de configuración npm.
npm config set ignore-scripts true
Nota: Esto deshabilitará los scripts para todos los paquetes de NPM.
fuente
Para hacer esto para su propia biblioteca, le recomiendo algo simple como:
luego realice su instalación de npm con:
fuente
Quería deshabilitar el script postinstall para mi proyecto, pero quería que todos los scripts de las dependencias de mi proyecto se ejecutaran cuando lo haga
npm install
. Esto es lo que terminé haciendo../scripts/skip.js
ahora solo configure la variable de entorno SKIP_BUILD = 1 para evitar que su paquete se compile y sus dependencias se compilen bien
fuente