频道栏目
首页 > 资讯 > HTML/CSS > 正文

关于package.json中npm依赖包版本前的符号含义解析

18-07-24        来源:[db:作者]  
收藏   我要投稿

问题引入:我们在使用npm下载依赖包的时候,在package.json中会出现对应包的版本号。可是我们会发现在版本号之前,一般都会有几个特殊符号。例如:“~”,”^”,”>”……那么这些符号都有什么含义呢?

一般来说,版本号大体分为三个部分

major.minor.patch

主版本号.次版本号.修补版本号

1, version

版本号之前不带任何标记表示必须依赖这个版本的包

例如:"webpack-zepto": "0.0.1"

2, >

大于某个版本,表示只要大于这个版本的安装包都行

例如:"node": "> 4.0.0"

3, >=

大于某个版本,表示只要大于或等于这个版本的安装包都行

例如:"node": ">= 4.0.0"

4, <

小于某个版本,表示只要小于这个版本的安装包都行

例如:"http-proxy-middleware": "<0.17.3"

5, <=

小于或等于某个版本,表示只要小于或等于这个版本的安装包都行

例如:"http-proxy-middleware": "<=0.17.3"

5, ~

大概匹配到哪个版本

如果minor版本号指定了,那么minor最大加1,而patch如果存在大于当前值

如果minor和patch版本号未指定,那么minor和patch版本号任意

如:~1.1.2,表示>=1.1.2 <1.2.0,可以是1.1.2,1.1.3,1.1.4,…..,1.1.n

如:~1.1,表示>=1.1.0 <1.2.0,可以是同上

如:~1,表示>=1.0.0 <2.0.0,可以是1.0.0,1.0.1,1.0.2,…..,1.0.n,1.1.n,1.2.n,…..,1.n.n

6, ^

版本号中最左边的非0数字最大加1,其余部分,大于当前值。

如:^1.1.2 ,表示>=1.1.2 <2.0.0,可以是1.1.2,1.1.3,…..,1.1.n,1.2.n,…..,1.n.n

如:^0.2.3 ,表示>=0.2.3 <0.3.0,可以是0.2.3,0.2.4,…..,0.2.n

如:^0.0,表示 >=0.0.0 <0.1.0,可以是0.0.0,0.0.1,…..,0.0.n

7, x

x的位置表示任意版本

如:1.2.x,表示可以1.2.0,1.2.1,…..,1.2.n

8, *

任意版本,”“也表示任意版本

如:*,表示>=0.0.0的任意版本

9, version1 - version2

大于等于version1,小于等于version2

如:1.1.2 - 1.3.1,表示包括1.1.2和1.3.1以及他们件的任意版本

10, ||

满足range1或者满足range2,可以多个范围

如:<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0,表示满足这3个范围的版本都可以

相关TAG标签
上一篇:内存对齐的原则
下一篇:Mac版本HBuilder提示没有jdk或者无权限操作的情况怎么解决?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站