установка npm и обновление-в чем разница?
в чем практическая разница между npm install
и npm update
? Когда я должен использовать что?
4 ответов
разницу между установка npm и обновление npm обработка версий пакетов, указанных в пакета.в 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 update
дополнительно: install
и update
по умолчанию обрабатывать devDependencies по-разному
-
npm install
будет установить/обновить devDependencies если--production
флаг -
npm update
будет игнорировать devDependencies если--dev
флаг
зачем использовать npm install
на всех?
, потому что npm install
делает больше, когда вы смотрите кроме обработки зависимостей в package.json
.
Как вы можете видеть в установка npm вы можете ...
- вручную установить node-modules
- как глобальные (что помещает их в оболочку
PATH
) черезnpm install -g <name>
- установите определенные версии, описанные тегами git
- установить с Git url
- принудительная переустановка с помощью
--force
установка npm устанавливает все модули, перечисленные в package.json
файл и их зависимости.
обновление npm обновляет все пакеты в
в большинстве случаев это установит последнюю версию модуля, опубликованную на npm.
npm install express --save
или лучше обновить модуль до последней версии использовать:
npm install express@latest --save --force
--save
: пакет появится в вашей зависимости.
Подробнее: npm-установить
многие различия уже упоминались. Вот еще один:
под управлением npm install
в верхней части исходного каталога будут выполняться различные скрипты:prepublish
, preinstall
, install
, postinstall
. В зависимости от того, что делают эти скрипты, a npm install
может сделать значительно больше работы, чем просто установка зависимостей.
у меня только что был прецедент, когда prepublish
назвали бы make
и Makefile
был разработан для извлечения зависимостей, если package.json
получил обновление. Зовущий npm install
внутри Makefile
привело бы к бесконечной рекурсии при вызове npm update
работал просто отлично, устанавливая все зависимости, чтобы сборка могла продолжаться, даже если make
был вызван напрямую.