npm version使用方法
version
每个npm包都有一个package.json,如果要发布包的话,package.json里面的version字段就是决定发包的版本号了。
version字段是这样的一个结构: ‘0.0.1’, 是有三位的版本号。分别是对应得version里面的:major, minor, patch。
也就是说当发布大版本的时候会升级为1.0.0, 小版本是0.1.0, 一些小修复是0.0.2。
npm version
为了方便用户更改版本号,npm有npm version这个命令来自动更改版本号,同时帮忙commit。比如说当前版本是1.1.1,当执行npm version patch -m '[patch]'的时候, 会自动把package.json里面的version改为1.1.2,同时git会多一个commit log [patch], 这次改动便是更改package.json。
如果执行了prepatch,版本号会从1.1.1变为1.1.2-0
我们称版本号的三位分别是 大号.中号.小号-预发布号;实际上是主要的.次要的.补丁-预发布号
npm version 参数
npm version 有6个参数: major,minor, patch, premajor, preminor, prepatch, prerelease
npm version | 功能 |
major | 1. 如果没有预发布号,则直接升级一位大号,其他位置都是0, 2. 如果有预发布号:中号和小号都为0,则不升级大号,而是将预发布号删掉。即2.0.0-1变为2.0.0,这就是预发布的作用 3. 如果中号和小号任意一个不是0, 那么会升级一位大号,其他位置都为0, 清空预发布号。即2.0.1-1变为3.0.0 |
minor | 如果没有预发布号,则直接升级一位中号,大号不动,小号置为0 如果有预发布号: 如果小号为0, 则不升级中号,将预发布号去掉 如果小号不为0, 同理没有预发布号 |
patch | 如果没有语法不好:直接升级小号,去掉预发布号 如果有预发布号:去掉预发布号,其他不动 |
premajor | 直接升级大号, 中号和小号置为0, 增加预发布号为0 |
preminor | 直接升级中号, 下号置为0,增加预发布号为0 |
prepatch | 直接升级小号,增加预发布号为0 |
prerelease | 如果没有预发布号:增加小号,增加预发布号为0 如果 有预发布号,则不升级预发布号 |