javascript - node - `npm build` no ejecuta el script llamado" build "en package.json
npm publish (5)
Desafortunadamente,
npm build
ya es un comando
interno
, como se describe
en los documentos
:
Este es el comando de plomería llamado por npm link y npm install. Por lo general, no debe llamarse directamente.
Debido a que ese comando ya existe, siempre se oculta sobre su
"build": "node build.js"
.
La forma totalmente calificada de ejecutar su propio script es con
run-script
o su alias
run
:
$ npm run build
npm start
y otros son de forma abreviada, pero solo es una opción cuando un comando npm existente no lo
npm build
, como lo hace
npm build
.
Para la posteridad (como otros han mencionado),
npm build
es utilizada por npm para construir complementos de
node-gyp
C / C ++ nativos usando
node-gyp
.
No está bien documentado porque generalmente ocurre automáticamente, pero si está interesado, el
código fuente está aquí
.
Para un nuevo módulo, estoy tratando de usar
npm build
sin gulp / Grunt / otras herramientas de construcción especializadas.
"scripts": {
"build": "node build.js"
},
Mi build.js es simplemente
console.log(''Hello'')
Sin embargo, corriendo
npm build
Simplemente sale sin imprimir nada, con un estado de 0.
Corriendo:
npm install
También hace todas las cosas normales, pero tampoco ejecuta build.js.
¿Cómo puedo hacer que npm ejecute mi script de compilación?
Editar: incluso los comandos bash simples no parecen funcionar, p. Ej.
"scripts": {
"build": "touch TESTFILE"
},
No hace un archivo con ese nombre.
El script nombrado como "build" en
package.json
no es especial de ninguna manera.
La única forma de ejecutarlo es llamando:
npm run-script build
Hay algunos nombres que npm llama automáticamente , pero "build" no es uno de ellos. La lista completa es:
-
publish
postpublish
,publish
,publish
postpublish
-
preinstall
,install
,postinstall
-
preuninstall
,uninstall
,uninstall
-
preversion
,version
,postversion
-
pretest
,test
,posttest
-
prestop
stop
,stop
,poststop
stop
-
prestart
,start
,poststart
-
prerestart
,restart
,postrestart
-
preCUSTOM
ypostCUSTOM
para nombres de script personalizados.
OK, para ejecutar una compilación por sí mismo, use:
npm run-script build
Tuve un problema con
npm run build
sin imprimir nada.
terminé usando
npm run build --verbose
para obtener la salida que necesitaba.
Npm build espera
Una carpeta que contiene un archivo package.json en su raíz
Intente usar scripts npm en su package.json, como el clásico npm start