update node modules mac latest last how actualizar node.js npm

node.js - node - npm install vs. update-¿cuál es la diferencia?



update node modules (4)

En la mayoría de los casos, esto instalará la última versión del módulo publicado en npm.

npm install express --save

o mejor para actualizar el módulo a la última versión de uso:

npm install express@latest --save --force

--save : El paquete aparecerá en sus dependencias.

Más información: npm-install

¿Cuál es la diferencia práctica entre npm install y npm update ? ¿Cuándo debo usar cuál?


La diferencia entre la instalación de npm y el manejo de actualizaciones de npm de las versiones de paquetes especificadas en 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 } }

Resumen : la única gran diferencia es que un módulo ya instalado con versiones borrosas ...

  • se ignora por la npm install
  • se actualiza por npm update

Además : install y update de forma predeterminada el manejo de devDependencies de manera diferente

  • npm install instalará / actualizará devDependencies a menos que se agregue el indicador de --production
  • npm update ignorará devDependencies a menos que se --dev indicador --dev

¿Por qué usar npm install en absoluto?

Porque la npm install hace más cuando busca además de manejar sus dependencias en package.json . Como puedes ver en la instalación de npm puedes ...

  • instalar manualmente los módulos de nodo
  • npm install -g <name> como globales (lo que los coloca en la npm install -g <name> del shell) usando npm install -g <name>
  • Instala ciertas versiones descritas por las etiquetas git.
  • instalar desde una url git
  • forzar una reinstalación con --force

Muchas distinciones ya han sido mencionadas. Aquí hay uno más:

La ejecución de npm install en la parte superior de su directorio de origen ejecutará varios scripts: prepublish , preinstall , install , postinstall . Dependiendo de lo que hagan estos scripts, una npm install puede hacer mucho más trabajo que solo instalar dependencias.

Acabo de tener un caso de uso en el que prepublish llamaría make y Makefile fue diseñado para obtener dependencias si el package.json se actualizó. npm install desde Makefile hubiera dado lugar a una recursión infinita, mientras que la npm update funcionó bien, instalando todas las dependencias para que la compilación pudiera continuar incluso si se llamaba a make directamente.


npm instala instala todos los módulos que se enumeran en el archivo package.json y sus dependencias.

npm update actualiza todos los paquetes en el directorio node_modules y sus dependencias.

npm install express instala solo el módulo express y sus dependencias.

npm update express express módulo express (a partir de [email protected], no actualiza sus dependencias).

Las actualizaciones son para cuando ya tenga el módulo y desee obtener la nueva versión.