¿Cuál es la diferencia entre npm install
y npm run build
?
He notado en mi proyecto que a veces npm comienza a fallar cuando se npm install
, pero, al ejecutar npm run build
, funciona bien.
¿Cómo difieren el funcionamiento interno de estos dos objetivos, a saber, install
y run build
?
npm install
instala dependencias en el directorio node_modules/
, para el proyecto de nodo en el que está trabajando. Puede llamar a install
en otro proyecto (módulo) de node.js para instalarlo como una dependencia para su proyecto.
npm run build
no hace nada a menos que especifique qué hace "build" en su archivo package.json. Le permite realizar cualquier tarea de construcción/preparación necesaria para su proyecto, antes de que se utilice en otro proyecto.
npm build
es un comando interno y se llama mediante los comandos link
e install
, de acuerdo con la documentación de build :
Este es el comando de plomería llamado por npm link y npm install.
No llamará a npm build
normalmente, ya que se usa internamente para compilar complementos de nodos C/C++ nativos mediante node-gyp.
npm build
ya no existe. Debe llamar a npm run build
ahora. Más información a continuación.
npm install
: instala dependencias, luego llama a la install
desde el campo de scripts
package.json
.
npm run build
: ejecuta el campo de compilación desde el campo de scripts
package.json
.
https://docs.npmjs.com/misc/scripts
Hay muchas cosas que puede poner en el campo de secuencias de comandos npm package.json
. Consulte el enlace de documentación anterior más arriba del ciclo de vida de los scripts: la mayoría tiene ganchos previos y posteriores que puede ejecutar scripts antes/después de instalar, publicar, desinstalar, probar, iniciar, detener, reducir, versión.
npm install
no es lo mismo que npm run install
npm install
instala las dependencias de package.json
y luego ejecuta las secuencias de scripts.install
de package.json
npm run install
después de instalar las dependencias.npm run install
solo ejecuta el package.json
scripts.install
, no instalará dependencias .npm build
solía ser un comando válido (solía ser lo mismo que npm run build
) pero ya no lo es; ahora es un comando interno. Si lo ejecuta obtendrá: npm WARN build npm build called with no arguments. Did you mean to npm run-script build?
Puede leer más en la documentación: https://docs.npmjs.com/cli/build o https://docs.npmjs.com/cli/v6/commands/npm-buildTodavía hay dos comandos de nivel superior que ejecutarán scripts, son:
npm start
que es lo mismo que npm run start
npm test
==> npm run test
La principal diferencia es:
npm install
es un comando CLI de npm que hace lo predefinido, es decir, como lo escribió Churro, para instalar las dependencias especificadas dentro depackage.json
.
npm run %command-name%
onpm run-script %command-name%
también es un comando CLI predefinido para ejecutar sus scripts personalizados con el nombre especificado en lugar de "command-name". Por lo tanto, en este caso,npm run build
es un comando de secuencia de comandos personalizado con el nombre "build" y hará cualquier cosa que se especifique dentro de él (por ejemploecho 'hello world'
dado en el siguiente ejemplo depackage.json
).
Puntos a tener en cuenta::
Una cosa más, npm build
y npm run build
son dos cosas diferentes, npm run build
hará un trabajo personalizado escrito dentro de package.json
y npm build
es un script predefinido (no disponible para usar directamente).
No puede especificar algo dentro del script de compilación personalizado ( npm run build
) y esperar npm build
haga lo mismo. Intente lo siguiente para verificar en su package.json
:
{ "name": "demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "echo 'hello build'" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": {}, "dependencies": {} }
y ejecute npm run build
y npm build
uno por uno y verá la diferencia. Para obtener más información sobre los comandos, siga la documentación de npm .