我們項目需要引入自己開發的npm包,但是存在一個問題, 比如master分支上,依賴包默認安裝的是 "jk-health-records": "^0.1.247"
, 如果測試上正在測試修改依賴包,比如現在是0.1.250版本, 然后master分支有人該了其他問題,發布流水線, 會自動更新到0.1.250版本把未測試號的版本帶上線。
原因是:
package.json 中 "jk-health-records": "^0.1.247", 版本號不要加 ^ 或者 ~ 。 這兩個符號 ^ 會更新到0.X.X的最新版, ~會更新到0.1.X的最新版。
避免這個問題
所以,怎么避免自動添加前綴?
npm 在使用 --save 更新 package.json 時,默認使用前綴 ^。修改方法如下:
默認使用前綴~:npm config set save-prefix '~'
不使用前綴,保存確切版本 :npm config set save-exact true
所以去命令行運行下 npm config set save-exact true
之后,安裝包或者更新包就會固定版本了。不會出現^。也就不會出現這個問題了