npm version 是一個大家平時不常用的命令。僅作記錄。
初始化一個項目
1.創建一個git項目 npm-version-test
。 git clone <當前項目git地址>
2.cd npm-version-test
3. npm init -y
在工程目錄下生成package.json如下:
{
"name": "npm-version-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://gitee.com/LynnLanny/npm-version-test.git"
},
"keywords": [],
"author": "",
"license": "ISC"
}
npm version 概覽
npm version --help
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
(run in package dir)
'npm -v' or 'npm --version' to print npm version (6.4.1)
'npm view <pkg> version' to view a package's published version
'npm ls' to inspect current package/dependency versions
npm version
獲取當前的詳細版本信息。
{ 'npm-version-test': '1.0.0',
npm: '6.4.1',
ares: '1.14.0',
cldr: '33.1',
http_parser: '2.8.0',
icu: '62.1',
modules: '64',
napi: '3',
nghttp2: '1.33.0',
node: '10.10.0',
openssl: '1.1.0i',
tz: '2018e',
unicode: '11.0',
uv: '1.23.0',
v8: '6.8.275.30-node.24',
zlib: '1.2.11' }
npm version 常用命令
prerelease
npm version prerelease
package.json 中的版本號1.0.0
變爲1.0.1-0
- 再次執行
npm version prerelease
package.json 中的版本號1.0.1-0
變爲1.0.1-1
5,6操作說明 當執行
npm version prerelease
時,如果沒有預發佈號,則增加minor,同時prerelease 設爲0;
如果有prerelease, 則prerelease 增加1。
prepatch
npm version prepatch
package.json 中的版本號1.0.1-1
變爲1.0.2-0
prepatch - 直接升級小號,增加預發佈號爲0。
preminor
npm version preminor
package.json 中的版本號1.0.2-0
變爲1.1.0-0
preminor - 直接升級中號,小號置爲0,增加預發佈號爲0。
npm version premajor
package.json 中的版本號1.1.0-0
變爲2.0.0-0
premajor - 直接升級大號,中號、小號置爲0,增加預發佈號爲0。
patch: 主要目的升級patch
npm version patch
package.json 中的版本號2.0.0-0
變爲2.0.0
;- 再次執行
npm version patch
package.json 中的版本號2.0.0
變爲2.0.1
;
10,11 操作說明,patch:如果有prerelease ,則去掉prerelease ,其他保持不變;
如果沒有prerelease ,則升級minor.
minor: 主要目的升級minor
npm version minor
package.json 中的版本號2.0.1
變爲2.1.0
;
如果沒有prerelease,直接升級minor, 同時patch設置爲0;
npm version premajor
2.1.0
–>3.0.0-0
;npm version minor
3.0.0-0
–>3.0.0
;npm version prepatch
3.0.0
–>3.0.1-0
;npm version minor
3.0.1-0
–>3.1.0
;
如果有prerelease, 首先需要去掉prerelease;如果patch爲0,則不升級minor:如
14
;
如果patch不爲0, 則升級minor,同時patch設爲0,如16
。
major :主要目的升級major
npm version major
:3.1.0
-->4.0.0
如果沒有prelease,則直接升級major,其他位都置爲0;
npm version premajor
:4.0.0
-->5.0.0-0
;
如果有預發佈號: minor和patch都爲0,則不升級major,只將prerelease 去掉。
npm version preminor
:5.0.0-0
–>5.1.0-0
npm version major
:5.1.0-0
-->6.0.0
如果有預發佈號:且minor和patch有任意一個不是0,則升級一位major,其他位都置爲0,並去掉prerelease。