Сделать `npm install --save` добавить строгую версию в package.json
Когда вы запускаете npm install --save somepackage
, он обычно добавляет что-то вроде этого в package.json:
"dependencies": {
"somepackage": "^2.1.0"
}
Поскольку версия добавлена с помощью каретки (^), это означает, что если вы позже запустите npm install
, вместо этого она может установить версию 2.3.0. Это может быть нежелательным по довольно очевидным причинам. npm shrinkwrap
полезен, но на самом деле не решает проблему.
Итак, у меня есть несколько вопросов:
- При установке пакета можно указать, что вы хотите, чтобы он был установлен на определенную версию в package.json(без каретки до номера версии)?
- При публикации пакета в npm, есть ли способ предотвратить дефолт включения каретки перед версией, когда другие разработчики устанавливают ваш пакет?
Ответы
Ответ 1
Чтобы указать по умолчанию точную версию, вы можете изменить конфигурацию npm с помощью save-exact:
npm config set save-exact true
Вы также можете указать версию preend с тильдой с save-prefix
И нет, вы не можете заставить пользователя обновить до версии с небольшим или исправлением, NPM использует semver, и это рекомендуется способ публикации пакетов.