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каталоги.

Другие вопросы по тегам