Три варианта использования npm для обновления пакетов зависимостей
1. Использование основных команд
- Просмотр глобально установленных пакетов
npm list -g --depth 0
- Посмотреть установочный пакет
packageNameИнформация о последней выпущенной версии
npm view | info packageName version
- Просмотр пакетов удаленной установки
packageNameВся выпущенная информация о версии
npm view | info packageName versions
- Проверить наличие устаревших пакетов
npm outdated [packageName]
Описание информации о версии
PackageПоказать имя пакета. Если используется--long / -lто он по-прежнему показывает, что пакет принадлежитdependenciesещеdevDependency
CurrentТекущая версия установки пакета зависимостей
Wantedсогласно сpackage.jsonПоследний номер версии, который правило префикса версии пакета может обновить
LatestНомер последней версии пакета [самый последний по умолчанию, это зависит от системы управления пакетами разработчика]
Locationрасположение пакета зависимостей в дереве зависимостей, где он находится
Значение цвета шрифта пакета
-
красный
package.jsonПакеты зависимостей, которые можно обновить с помощью правила префикса версии пакета -
желтый
package.jsonЗависимые пакеты, для которых правила префикса версии пакета не подлежат обновлению.
Когнитивная зависимая версия
Соответствующие зависимости проекта обычно хранятся вpackage.jsonВ файле соответствующий номер версии имеет видmojor.minor.patch
majorУказывает на несовместимое критическое изменение API (серьезное)
minorУказывает на функциональные изменения для обратной совместимости (незначительные)
patchОбозначает обратно совместимое исправление (исправлено)
Значение символа префикса номера версии, соответствующего пакету зависимостей
-
*соответствовать последнемуmajorПакет зависимости от версии -
^соответствовать последнемуminorПакет зависимости от версии, например:1.1.0Может быть обновлен, чтобы соответствовать всем1.x.xпакет, не будет обновлять соответствие2.x.x -
~соответствовать последнемуpatchПакет зависимости от версии, например:1.1.0Может быть обновлен, чтобы соответствовать всем1.1.xпакет, не будет обновлять соответствие1.2.x -
Отсутствие префикса указывает на фиксированный номер версии, версия не будет обновлена, чтобы соответствовать какой-либо другой версии. [Нужна ручная модификация
package.jsonверсия пакета]
2. обновление нпм
- Обновите указанный пакет установки зависимостей [не обязательно включая
majorИногда требуются битовые обновленияpackage.jsonВручную измените соответствующий номер версии пакета зависимостей в обновлении]- -S
dependenciesЗависимая установка (--save) в рабочей среде, установка по умолчанию - -D
devDependenciesУстановка зависимостей в среде разработки (--save-dev)
- -S
npm update packageName (-D | -S)
Разница между npm i и npm update
Описано ниже:
-
packageПредставляет файл управления версиями зависимостей package.json. -
lockУказывает, что package-lock.json блокирует файл версии зависимости.
-
lockФайл существует
-
npm iпоследуетlockУстановите соответствующую версию пакета, она не будет автоматически обновлена- изменить вручную
packageв соответствующем пакете,lockпоследуетpackageСпецификация версии префикса обновлена до последней версии,packageВерсия ручная версия без изменений
- изменить вручную
-
npm updateпоследуетpackageСоответствующая спецификация обновления префикса версии пакета установлена до последней версии.-
packageИзмените номер версии соответствующего пакета в [последняя версия спецификации префикса иlockТо же самое без изменений, и разница изменена] -
lockСоответствующий номер версии пакета изменяется в
-
-
lockфайл не существует
-
npm iпоследуетpackage.jsonСоответствующая спецификация обновления префикса версии пакета установлена до последней версии.-
package.jsonТем не менее номер версии предыдущей спецификации префикса -
package-lock.jsonОбновление до последней версии по спецификации префикса версии
-
-
npm updateа такжеnpm iсходство- но будет игнорировать
devDependenciesСоответствующий пакет под установку обновления - Добавлен
-Dустановит обновлениеdependenciesОбновите и установите под предпосылкойdevDependenciesСоответствующий пакет зависимостей в
- но будет игнорировать
3. npm-проверка обновлений
- Установить зависимости глобальноnpm-check-update
npm install npm-check-update -g
- Проверить наличие обновляемых модулей
ncu
或
npm-check-update
- Обновление обновляемых модулей [не рекомендуется обновлять все обновляемые зависимости одновременно] (обновления включают основные битовые обновления)
ncu -u [packageName]
4. npm-проверка
- Установить зависимости глобальноnpm-check
npm install npm-check -g
- Просмотр информации об обновляемом пакете
npm-check
- Выберите и обновите соответствующий пакет зависимостей [выбор пробела, введите обновление]
npm-check -u
Пять, разница между тремя методами
разница:
npm update
-
npm update [packageName]будет обновляться синхронноpackage-lock.jsonВерсия соответствующего пакета в файле, пакет npm переустанавливать не нужно
npm-проверка обновлений и npm-проверка
-
Они в основном одинаковы, но есть определенные различия в некоторых интерактивных выражениях в процессе обновления.
-
возобновить
package.jsonИнсталляционный пакет в файле можно обновить, но соответствующий пакет обновляться не будетpackage-lock.jsonВерсия соответствующего пакета в файле -
Зависимости необходимо переустановить с помощью следующей команды:
rm -rf package-lock.json && npm i
Ссылка на ссылку