Quelle est la différence pratique entre l’ npm install
npm update
et la npm update
? Quand devrais-je utiliser lequel?
La différence entre l’ installation npm et la gestion de la mise à jour npm des versions de package spécifiées dans 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 } }
Résumé : La seule grande différence est qu’un module déjà installé avec un contrôle de version flou …
npm install
npm update
De plus : install
et update
à update
par défaut les devDependencies différemment
npm install
va installer / mettre à jour devDependencies à moins que l’ --production
flag ne soit ajoutée npm update
ignore les devDependencies à moins que l’ --dev
soit ajoutée Pourquoi utiliser npm install
?
Parce que npm install
fait plus lorsque vous regardez en plus de gérer vos dépendances dans package.json
. Comme vous pouvez le voir dans l’ installation de npm, vous pouvez …
PATH
du shell) en utilisant npm install -g
--force
npm install installe tous les modules répertoriés dans le fichier package.json
et leurs dépendances.
La mise à jour npm met à jour tous les packages du répertoire node_modules
et leurs dépendances.
npm install express installe uniquement le module express et ses dépendances.
npm update express updates module express (commençant par [email protected], il ne met pas à jour ses dépendances).
Donc, les mises à jour sont pour quand vous avez déjà le module et souhaitez obtenir la nouvelle version.
Dans la plupart des cas, la dernière version du module publiée sur npm sera installée.
npm install express --save
ou mieux pour mettre à niveau le module vers la dernière version utilisée:
npm install express@latest --save --force
--save
: le package apparaîtra dans vos dépendances.
Plus d’info: npm-install
De nombreuses distinctions ont déjà été mentionnées. En voici un de plus:
L’exécution de npm install
en haut de votre répertoire source exécutera divers scripts: prepublish
, preinstall
– install
, install
, postinstall
– postinstall
. Selon ce que font ces scripts, une npm install
peut faire beaucoup plus de travail que l’installation de dépendances.
Je viens d’avoir un cas d’utilisation où prepublish
appellerait make
et le Makefile
été conçu pour récupérer des dépendances si le package.json
été mis à jour. L’appel de npm install
depuis le Makefile
aurait conduit à une récursion infinie, alors que l’appel de la npm update
a bien fonctionné, en installant toutes les dépendances pour que la construction puisse continuer même si make
était appelée directement.