详解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 相关文章推荐
关于jquery.validate1.9.0前台验证的使用介绍
Apr 26 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
Jul 28 Javascript
jquery.validate使用详解
Jun 02 Javascript
jQuery中的一些小技巧
Jan 18 Javascript
JavaScript实现购物车基本功能
Jul 21 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
JS在if中的强制类型转换方式
Jul 15 Javascript
ES6 fetch函数与后台交互实现
Nov 14 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
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简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
Laravel find in set排序实例
2019/10/09 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
2015/02/13 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
Python hmac模块使用实例解析
2019/12/24 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
想学画画?python满足你!
2020/12/24 Python
介绍一下Java中的static关键字
2012/05/12 面试题
文明餐桌行动实施方案
2014/02/19 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
计算机系本科生求职信
2014/05/31 职场文书
2014年营销工作总结
2014/11/22 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python