npm vesion 的几个概念
比如webpack 5.37.1版本,在npm这类版本号X.Y.Z可以理解为major.minor.patch。
- major 主要的
- minor 次要的
- patch 修补,补丁
当然也有另外一种变形预先版本,X.Y.Z-N,可以理解为major.minor.patch-[premajor|preminor|prepatch|prerelease]。
还有一点就是涉及npm升版本的操作,npm version [major|minor|patch|premajor|preminor|prepatch|prerelease]。
比如:npm version: 1.1.0
-
npm version patch: 1.1.1 -
npm version prepatch:1.1.1-0,npm version prepatch:1.1.2-0 -
npm version minor: 1.2.0 -
npm version preminor:1.2.0-0,npm version preminor:1.3.0-0 -
npm version major: 2.0.0 -
npm version premajor:2.0.0-0,npm version premajor:3.0.0-0
那么npm version prerelease是做什么的?
假设有版本号:1.1.1
-
npm version prerelease: 1.1.1-0,npm version prerelease:1.1.1-1。会在后面加一个prerelease主版本不变,其他版本往上加。
范围range
- 'X.Y.Z - U.V.W',会尽可能下载范围内最新的版本。
>=X.Y.Z && <= U.V.W -
X.Y.x下载X.Y.x的major固定minor固定,patch最新,依次类推。x则表示最新版本
~
表示范围内到下个版本,根据.来表示限制范围是否是major 或者minor`,
- ~1.2.3 := >=1.2.3 <1.(2+1).0 := >=1.2.3 <1.3.0 等同于
1.2.3-1.3.0 - ~1.2 := >=1.2.0 <1.(2+1).0 := >=1.2.0 <1.3.0 等同于
1.2.x - ~1 := >=1.0.0 <(1+1).0.0 := >=1.0.0 <2.0.0 等同于
1.x
^
表示范围是:版本号从最左边开始第一个非0的版本保持不动。
-
1.2.3,最左边第一个是1,表示从1.2.3开始,小于2x -
0.7.2,最左边第一个是7,表示从0.7.2开始,小于0.8.0 -
0.7.2,最左边第一个是7,表示从0.7.2开始,小于0.8.0










