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

{
    "dependencies": {
        "one": "1.0.0 - 2.9999.9999",
        "two": ">=1.0.2 <2.0.2",
        "three": ">1.0.2 <=2.0.4",
        "four": "1.0.1",
        "five": "<1.0.0 || >=2.3.0<2.4.0 || >=2.0.0<3.0.0",
        "six": "http://xyz.com/xyz.tar.gz",
        "seven": "~1.2",
        "eight": "~1.2.3",
        "nine": "1.x",
        "the": "1.1.x",
        "eleven": "latest",
        "twelve": "file:../xyz"
    }
}

项目中往往会依赖很多的外部组件,而这些组件都是开源,使用开源的组件时首先要注意的就是它的版本,版本号的差异会造成功能上的很大偏差,搞明白npm中版本符号的含义就是使用组件的基础,npm中的版本符号就是限定版本范围的符号。

版本的格式

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 最新版本  
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。