¿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 installnpm install instala las dependencias de package.json y luego ejecuta las secuencias de scripts.install de package.jsonnpm 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 startnpm test ==> npm run testLa principal diferencia es:
npm installes 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 buildes 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 .