NPM - Как установить новый пакет без обновления или добавить пакеты, описанные в package.json
Это сложный вопрос, и я постараюсь объяснить.
Как добавить новые пакеты без установочных зависимостей или новых пакетов (определено в package/-lock.json)?
Например: в настоящее время у нас есть package.json и package-lock.json для поддержки управления версиями.
Однако, если мы пытаемся добавить новый пакет, другие пакеты (связанные с package.json или package-lock.json) обновляются / добавляются.
Намерение состоит в том, чтобы просто добавить новые пакеты, добавить информацию об этих пакетах в package.json и package-lock.json, не затрагивая текущие установленные пакеты.
2 ответа
Перейдите в package.json и внесите некоторые изменения, если вы не хотите, чтобы какой-либо из ваших пакетов обновлялся автоматически. Например изменить"react-native": "^0.56.1"
в "react-native": "0.56.1"
просто удалите символы "^" или "~", которые вы видите перед объявлениями версии.
- Знак каретки "^" делает npm способным обновлять второстепенные обновления версии (для приведенного выше примера с 56 по 57 или выше) и
- Знак "~" тильды позволяет npm обновлять основные обновления (например, от 0 до 1 или выше)
Если вы объявите версии своего пакета без всякой подписи, "npm i
Команда не будет обновлять их.
Использовать
npm ci
вместо
npm install
!
Из документов:
Он никогда не будет записывать в package.json или любую из блокировок пакетов: установки по существу заморожены.
Есть и другие предостережения и отличия, я рекомендую прочитать документы для более подробной информации. Например, он удалит существующие
node_module
каталоги.