Какова практическая разница между npm install и npm update? Когда следует использовать какой?
Npm install vs. update - какая разница?
Ответ 1
Разница между npm install и обновлением npm:
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
  }
}
Заключение. Единственное большое различие заключается в том, что уже установленный модуль с нечетким версированием...
- игнорируется npm install
- обновляется с помощью обновления npm
  Зачем использовать npm install вообще?
Потому что npm install делает больше, когда вы смотрите помимо обработки зависимостей в package.json.
Как вы можете видеть в npm install, вы можете...
- вручную установить node -modules
-  установите их как глобальные (которые помещают их в оболочку PATH), используяnpm install -g <name>
- установите определенные версии, описанные тегами git
- установить с git url
-  принудительно переустановить с помощью --force
Ответ 2
  npm install устанавливает все модули, указанные в файле package.json и их зависимостях.
  Обновление npm обновляет все пакеты в каталоге node_modules и их зависимостях.
npm install express устанавливает только экспресс-модуль и его зависимости.
npm update express обновляет экспресс-модуль и его зависимости.
Так что обновления для того, когда у вас уже есть модуль и вы хотите получить новую версию.
Ответ 3
В большинстве случаев, это установит последнюю версию модуля, опубликованную на npm.
npm install express --save
или лучше обновить модуль до последней версии:
npm install [email protected] --save --force
 --save: Пакет появится в ваших зависимостях.
Дополнительная информация: npm-install
Ответ 4
Многие различия уже упоминались. Вот еще один:
Запуск npm install в верхней части исходного каталога будет запускать различные сценарии: prepublish, preinstall, install, postinstall. В зависимости от того, что делают эти сценарии, npm install может выполнять значительно большую работу, чем просто устанавливать зависимости.
У меня только был прецедент, в котором prepublish вызывал make, а Makefile был предназначен для извлечения зависимостей, если обновлен package.json. Вызов npm install из Makefile привел бы к бесконечной рекурсии, а вызов npm update работал просто отлично, установив все зависимости, чтобы сборка могла продолжить, даже если make был вызван напрямую.
