Qual é a diferença entre npm install e npm run build?

Qual é a diferença entre npm install e npm run build?

notei no meu projecto que às vezes o MPN começa a falhar quando {[[0]} é executado, mas, ao executar npm run build, funciona muito bem.

Qual é a diferença entre o funcionamento interno destes dois objectivos, a saber, as metas a atingir e as metas a atingir?

Author: nbro, 2017-04-27

3 answers

npm install instala dependências na pasta node_modules/, para o projecto de nó em que está a trabalhar. Você pode ligar para install em outro nó.js project (módulo), para o instalar como uma dependência do seu projecto.

npm run build é um nome falso para npm build, e não faz nada a menos que você especifique o que "build" faz no seu pacote.ficheiro json. Permite-lhe executar todas as tarefas de construção/preparação necessárias para o seu projecto, antes de este ser utilizado noutro projecto.

build é chamado por link e install comandos, de acordo com a documentação para compilar:

Este é o comando de canalização chamado npm link e npm install.
 25
Author: Churro, 2017-04-27 17:43:05

A principal diferença é:

O Npm install é um comando npm cli que faz a coisa predefinida, i. e., Como escrito pelo Churro, para instalar as dependências especificadas dentro pacote.json

Npm executar nome-do-comando ou npm de execução de script nome-do-comando ( ex. o npm executar a compilação ) é também um comando cli predefinido para executar os seus programas personalizados com o nome indicado no lugar de "nome de comando". Então, neste caso npm run build é um comando de script personalizado com o nome "build" e fará qualquer coisa especificado dentro dele (por exemplo echo 'Olá Mundo' apresentado em baixo pacote de exemplo.json).

Ponits to note::

1) só mais Uma coisa, npm build e npm run build são duas coisas diferentes npm build vai fazer, como escrito por Churro, mas npm run build vai fazer o trabalho personalizado escrito por dentro package.json

2) e npm build e npm run build não são iguais. O que eu quero dizer é que você não pode especificar alguma coisa dentro do script custom build (npm run build) e esperar npm build fazer o mesmo. Tente seguir a coisa para verificar no seu package.json:

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build":"echo 'hello build'"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {},
  "dependencies": {}
}

E corre npm run build e npm build um por um e verás a diferença. Para mais informações sobre os comandos, recomendo-lhe que siga a documentação do MPN.

Saúde!!
 14
Author: MKP, 2018-05-27 07:42:55
  • npm install instala as depedendências no seu pacote.JSON config.
  • npm run build executa o script "build" e criou um script que executa a sua aplicação - digamos servidor.js
  • npm start executa o programa" start "que será então "node server".js "

É difícil dizer exatamente qual era o problema, mas basicamente se você olhar para a configuração de seus scripts, eu diria que "build" usa algum tipo de Ferramenta de compilação para criar sua aplicação enquanto "start" assume que a compilação foi feita, mas então falha se o arquivo não está lá.

Você provavelmente está usando bower ou grunt-eu parece lembrar que uma aplicação grunt típica terá definido esses scripts, bem como um script" limpo " para excluir a última compilação.

As ferramentas de Compilação tendem a criar um ficheiro num bin/, dist/, ou compilar/ pasta que o programa inicial chama - por exemplo, "node build/server".js". Quando seu npm start falha, é provavelmente porque você ligou npm clean ou similar a apagar a última compilação para que o seu ficheiro de aplicação não esteja presente, fazendo com que o npm comece a falhar.

O código fonte do Npm-para tocar na discussão nesta questão - está em github para você dar uma olhada Se quiser. Se executar npm build directamente e tiver um programa" build " definido, este irá sair com um erro ao pedir-lhe para chamar o seu programa de compilação como npm run-script build por isso não é o mesmo que npm run script.

Não tenho bem a certeza do que faz, mas parece estar relacionado com o postinstall e ... programas de embalagem em dependências. Eu assumo que isso pode estar certificando-se de que qualquer CLI construir scripts ou bibliotecas nativas necessárias por dependências são construídas para o ambiente específico após o download do pacote. É por isso que link e install chamam a este script.
 1
Author: Chanoch, 2018-06-02 23:06:38