node.js react npm install vs. update-qual a diferença?




react npm update (4)

Qual é a diferença prática entre a npm install npm update e a npm update ? Quando devo usar qual?


A diferença entre o npm install e o npm update handling das versões do pacote especificadas em package.json :

{
  "name":          "my-project",
  "version":       "1.0",                             // install   update
  "dependencies":  {                                  // ------------------
    "already-installed-versionless-module":  "*",     // ignores   "1.0" -> "1.1"
    "already-installed-semver-module":       "^1.4.3" // ignores   "1.4.3" -> "1.5.2"
    "already-installed-versioned-module":    "3.4.1"  // ignores   ignores
    "not-yet-installed-versionless-module":  "*",     // installs  installs
    "not-yet-installed-semver-module":       "^4.2.1" // installs  installs
    "not-yet-installed-versioned-module":    "2.7.8"  // installs  installs
  }
}

Resumo : A única grande diferença é que um módulo já instalado com versões difusas ...

  • é ignorado pela npm install
  • é atualizado pela npm update

Adicionalmente : install e update por padrão manipular devDependencies de forma diferente

  • npm install instalará / atualizará devDependencies a menos que - o sinalizador de produção seja adicionado
  • npm update irá ignorar devDependencies a menos que --dev flag seja adicionado

Por que usar o npm install ?

Porque o npm install faz mais quando você olha além de manipular suas dependências em package.json . Como você pode ver no npm install você pode ...

  • instalar manualmente o nó-módulos
  • defina-os como globais (o que os coloca no PATH do shell) usando o npm install -g <name>
  • instalar certas versões descritas por tags git
  • instalar a partir de um URL git
  • forçar uma reinstalação com --force

Na maioria dos casos, isso instalará a versão mais recente do módulo publicado no npm.

npm install express --save

ou melhor para atualizar o módulo para o uso da versão mais recente:

npm install [email protected] --save --force

--save : o pacote aparecerá em suas dependências.

Mais informações: npm-install


O npm install instala todos os módulos listados no arquivo package.json e suas dependências.

A atualização do npm atualiza todos os pacotes no diretório node_modules e suas dependências.

O npm install express instala apenas o módulo express e suas dependências.

npm update express updates módulo expresso (começando com [email protected], ele não atualiza suas dependências).

Então atualizações são para quando você já tem o módulo e deseja obter a nova versão.


Muitas distinções já foram mencionadas. Aqui está mais um:

A execução da npm install na parte superior do diretório de origem executará vários scripts: preinstall publicar, preinstall install , install , prepublish install . Dependendo do que esses scripts fazem, uma npm install pode fazer muito mais trabalho do que apenas instalar dependências.

Acabei de ter um caso de uso em que o prepublish chamaria make e o Makefile foi projetado para buscar dependências se o package.json fosse atualizado. Chamar npm install de dentro do Makefile levaria a uma recursão infinita, enquanto a chamada npm update funcionava muito bem, instalando todas as dependências para que a compilação pudesse continuar mesmo se o make fosse chamado diretamente.





npm