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

如果 有预发布号,则不升级预发布号