npm version
npm version
用来指定模块的版本,然后会将新的版本号写入package.json
和package-lock.json
。
它的命令行用法如下。
npm version [
<newversion> |
major | minor | patch | premajor | preminor | prepatch | prerelease |
from-git
]
上面可以归纳为三种用法。
(1)<newversion>
:自己指定版本号。
(2)七个版本关键字:patch,minor,major,prepatch,preminor,premajor,prerelease。这时原有版本号,会在相应的位置增加1。
major
:规则如下。
(1)如果没有预发布号,则增加主版本号,并将次版本号和预发布号设为0
。
(2)如果有预发布号,且次版本号和补丁号都为0
,则不升级主版本号,只去掉预发布号。
(3)如果有预发布号,且次版本号和补丁号都不为0
,则增加主版本号,将次版本号和补丁号都置为0
,并去掉预发布号。
# 版本号从 5.0.0-0 变为 5.1.0-0
$ npm version preminor : 5.0.0-0–> 5.1.0-0
# 版本号从 5.1.0-0 变为 6.0.0
$ npm version major
minor
:规则如下。
(1)如果没有预发布号,则增加次版本号,并将补丁号设为0
。
(2)如果有预发布号,且补丁号为0
,则去掉预发布号,其他不变。
(3)如果有预发布号,且补丁号不为0
,则去掉预发布号,增加次版本号,补丁号设为0
。
patch
:如果预发布号,则去掉预发布后,其他保持不变;如果没有预发布号,则升级补丁号。
premajor
:增加主版本号,将次版本号和补丁号都设为0
,增加预发布号为0
。
preminor
:增加次版本号,补丁号设为0
,预发布号设为0
。
prepatch
:增加补丁号,同时预发布号设为0
。
prerelease
:如果没有预发布号,则增加补丁号,同时预发布号设为0;如果有预发布号,则预发布号增加1。
(3)from-git
:使用最新的 Git 标签,将其作为 npm 版本。
这个命令如果是在一个 Git 仓库里面运行,它会创造一个新的提交和标签。如果不希望生成标签,可以使用命令行参数--no-git-tag-version
。
命令行参数-m
或者--message
可以指定提交信息。提交信息里面的%s
参数会被替换成新的版本号。
--pre-id
npm version
命令的--pre-id
参数,可以指定预发布号的前缀。
上面的命令会产生诸如1.0.0-rc.0
的版本号。