主题
package 版本号详细说明
版本号全部示例
json
{
"dependencies": {
"foo": "1.0.0 - 2.9999.9999",
"bar": ">=1.0.2 <2.1.2",
"baz": ">1.0.2 <=2.3.4",
"boo": "2.0.1",
"qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
"asd": "http://asdf.com/asdf.tar.gz",
"til": "~1.2",
"elf": "~1.2.3",
"two": "2.x",
"thr": "3.3.x",
"lat": "latest",
"dyl": "file:../dyl"
}
}
1. 固定版本号
版本锁定, 在npm install
安装依赖时候,会确切的安装指定版本
例如
json
{
"dependencies": {
"foo": "1.00"
}
}
2. 版本范围
版本范围由运算符+固定版本号组成,运算符如下:
<
:小于<=
:小于等于>
:大于>=
:大于等于=
:等于. 该符号在实际中可以被忽略掉
形如:
>=1.2.7 <1.3.0
:表示版本范围在大于等于1.2.7
,小于1.3.0
都可以1.2.7 || >=1.2.9 <2.0.0
:可以是1.2.7
,1.2.9
等,但不能是1.2.8
,2.0.0
3. 预发布标签alpha
如:>1.2.3-alpha.3
中带了预发布标识alpha
,那么带预发布标识的版本号需要 [major, minor, patch]
一样,即1.2.3-alpha.4
,但是1.2.4-alpha.4
不满 足条件。 没有带预发布标识的版本只要满足大于 1.2.3-alpha.3
就可以了,比如:1.2.5
4. 预发布标识beta
html
1.2.4-beta.0
5. 连字符范围-
例如: 版本号 X.Y.Z - A.B.C
1、
1.2.3 - 2.3.4
等价于>=1.2.3 <=2.3.4
2、如果在第一个范围内少了的部分,则用
0
替换:1.2 - 2.3.4
等价于>=1.2.0 <=2.3.4
3、如果在第二个范围内少了的部分,则范围都要从这个版本开始:
1.2.3 - 2.3
等价于>=1.2.3 <2.4.0-0
1.2.3 - 2
等价于>=1.2.3 <3.0.0-0
6. 波浪号范围
~
例如:
~1.2.3
或者~1.2
或者~1
1、
~1.2.3
等价于>=1.2.3 <1.(2+1).0
即:>=1.2.3 <1.3.0-0
2、
~1.2
等价于>=1.2.0 <1.(2+1).0
即:>=1.2.0 <1.3.0-0 (Same as 1.2.x)
3、
~1
等价于>=1.0.0 <(1+1).0.0
即:>=1.0.0 <2.0.0-0 (Same as 1.x)
4、
~0.2.3
:=>=0.2.3 <0.(2+1).0
:=>=0.2.3 <0.3.0-0
5、
~0.2
:=>=0.2.0 <0.(2+1).0
:=>=0.2.0 <0.3.0-0 (Same as 0.2.x)
6、
~0
:=>=0.0.0 <(0+1).0.0
:=>=0.0.0 <1.0.0-0 (Same as 0.x)
7、
~1.2.3-beta.2
:=>=1.2.3-beta.2
<1.3.0-0
请注意,如果1.2.3
版本大于或等于beta.2
,则允许预发布。因此,1.2.3-beta.4
是允许的,但1.2.4-beta.2
则不允许,因为它是不同[major、minor、patch]
元组的预发行版
7. 插入符号范围^
例如:^1.2.3
或者 ^0.2.5
或者 ^0.0.4
- 1、
^1.2.3
:=>=1.2.3 <2.0.0-0
- 2、
^0.2.3
:=>=0.2.3 <0.3.0-0
- 3、
^0.0.3
:=>=0.0.3 <0.0.4-0
- 4、
^1.2.3-beta.2
:=>=1.2.3-beta.2 <2.0.0-0
请注意,如果1.2.3
版本大于或等于beta.2
,则允许预发布。因此,1.2.3-beta.4
是允许的,但1.2.4-beta.2
则不允许,因为它是不同[major、minor、patch]
元组的预发行版 - 5、
^0.0.3-beta
:=>=0.0.3-beta <0.0.4-0
请注意,如果大于或等于beta
,则仅允许0.0.3
版本中的预发布。因此,0.0.3-pr.2
是允许的。