2016-09-02 55 views
1

不知道這是一個缺少的功能還是我做錯了什麼,但我有以下「問題」。npm install -SE與小版本符號

可以說,我要安裝的[email protected]包在我的package.json自動保存

npm install [email protected] -S 

這在我的package.json寫的版本^ 3.2.0

npm install [email protected] -SE 

這在我的package.json寫的3.2.0版本

如果我想獲利的補丁版本符號的,我想在我的package.json的3.2.x中? 唯一的選擇是手動添加它?

謝謝!

+0

如果我正確理解你的問題,你不需要'.x'版本。如果你安裝了'--save',它會在版本中附加'^'前綴。只要主要和次要版本號匹配,這就允許安裝任何版本。將安裝與您安裝的相同或更新的任何修補程序版本。所以例如'^ 3.2.0'將允許3.2.0和3.2.1等等。 '3.2.2'將允許3.2.2,3.3.3等,但不允許3.2.1或3.2.0。那是你想要完成的嗎? –

+0

你說得對,我的問題寫得不對。我的想法是使用格式爲3.2.x的package.json,因此我可以在npm update上獲取所有補丁,而不是次要版本或主要版本。似乎唯一的方法就是編輯package.json文件... – ius

+0

這就是^符號的作用,它只會在補丁版本出來時更新軟件包。如果出現新的小版本或主版本,它不會更新軟件包。 –

回答

1

可以使用semver速記~僅安裝軟件包的修補程序版本更新,但不安裝次要版本或主要版本更新(請參閱https://docs.npmjs.com/misc/semver#tilde-ranges-123-12-1)。爲了使這個默認的NPM使用npm config命令

npm config set save-prefix=~

現在的波浪線將用於與

npm install foo -S

而且只有補丁級別的更新安裝在每個包使用npm i當安裝。

+0

太棒了!我使用.npmrc,因此對所有開發人員都是一樣的。 – ius