我们项目需要引入自己开发的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
之后,安装包或者更新包就会固定版本了。不会出现^。也就不会出现这个问题了