# package.json详解

# package.json里面dependencies版本符号含义

image.png

# 版本的格式

major.minor.patch
主版本号.次版本号.修补版本号

版本类型 版本详情 版本举例
version 必须完全匹配某版本 abc: 1.2.2
>version 必须大于某版本 abc: >1.2.2
>=version 大于或等于某个版本 abc: >=1.2.2
<version 必须小于某个版本 abc: <1.2.2
<=version 小于或等于某个版本 abc: <=1.2.2
~version 大概匹配某个版本 如果minor版本号指定了,那么minor版本号不变,而patch版本号任意
如果minor和patch版本号未指定,那么minor和patch版本号任意
例如:~1.1.2,表示abc: >=1.1.2 abc: <1.2.0, 可以是1.1.2,1.1.n
例如:~1.1,表示abc: >=1.1.0 abc: <1.2.0,同上
例如:~1,表示abc:>=1.0.0 abc:<2.0.0,可以是1.0.0, 1.0.1, 1.0.2, 1.0.n, 1.2.n, 1.n.n
^version 兼容某个版本
版本号中最左边的非0
数字的右侧可以任意
如果缺少某个版本号
则这个版本号的位置可以任意
例如:^1.1.2,表示abc: >=1.1.2 abc:<2.0.0, 可以是1.1.2, 1.1.n, 1.2.n, 1.n.n
例如:^0.2.3,表示abc: >=0.2.3 abc:<0.3.0, 可以是0.2.3, 0.2.4, 0.2.n
例如:^0.0,表示abc: >=0.0.0 abc:<0.1.0, 可以是0.0.0, 0.0.1, 0.0.n
x-range x的位置表示任意版本 例如:1.2.x, 可以表示1.2.0, 1.2.1, 1.2.n
*-range *通配符 例如:*,表示>=0.0.0的任意版本
version1-version2 区间 例如:1.0.0-2.0.0表示他们之间的任意版本
latest 最新版本

注:因为大都采取的是^形式,所以每次下载依赖都可能大小不一致。

# 参考

  1. package.json里面dependencies版本符号含义 (opens new window)