详解package.json版本号规则


Posted in Javascript onAugust 01, 2019

版本的格式

major.minor.patch

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

patch:修复bug,兼容老版本

minor:新增功能,兼容老版本

major:新的架构调整,不兼容老版本

依赖版本号规则

version

必须匹配某个版本

如:1.1.2,表示必须依赖1.1.2版

>version

必须大于某个版本

如:>1.1.2,表示必须大于1.1.2版

>=version

可大于或等于某个版本

如:>=1.1.2,表示可以等于1.1.2,也可以大于1.1.2版本

<version

必须小于某个版本

如:<1.1.2,表示必须小于1.1.2版本

<=version

可以小于或等于某个版本

如:<=1.1.2,表示可以等于1.1.2,也可以小于1.1.2版本

~version

大概匹配某个版本

如果minor版本号指定了,那么minor版本号不变,而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

^version

兼容某个版本

版本号中最左边的非0数字的右侧可以任意

如果缺少某个版本号,则这个版本号的位置可以任意

如:^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

x-range

x的位置表示任意版本

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

*-range

任意版本,""也表示任意版本

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

version1 - version2

大于等于version1,小于等于version2

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

range1 || range2

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

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

yarn.lock作用

通过上面可知每次下载依赖的版本可能都会不同,这就造成了有时本地build完全没有问题,但是推到服务器或者在别人电脑上就会build失败。

所以yarn.lock会记录所有包的版本以及包的依赖的版本,这样就可以保证每个人下载的依赖版本都是完全相同的,从而避免很多问题。当然npm也有类似功能,不在此赘述。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
三级下拉菜单的js实现代码
May 23 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
Aug 07 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
vue 运用mock数据的示例代码
Nov 07 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 Javascript
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 Javascript
Angular8 实现table表格表头固定效果
Jan 03 Javascript
Vue的自定义组件不能使用click方法的解决
Jul 28 Javascript
Element实现动态表格的示例代码
Aug 02 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 #Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 #Javascript
深入浅析Vue中mixin和extend的区别和使用场景
Aug 01 #Javascript
在Vue环境下利用worker运行interval计时器的步骤
Aug 01 #Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 #Javascript
微信小程序组件传值图示过程详解
Jul 31 #Javascript
vue.js实现回到顶部动画效果
Jul 31 #Javascript
You might like
php实现学生管理系统
2020/03/21 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
jQuery Ajax之load()方法
2009/10/12 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python 爬虫请求模块requests详解
2020/12/04 Python
爱护草坪标语
2014/06/24 职场文书
授权委托书格式范文
2014/08/02 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Vue监视数据的原理详解
2022/02/24 Vue.js
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技