详解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 相关文章推荐
IE8 引入跨站数据获取功能说明
Jul 22 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
JavaScript中获取未知对象属性的代码
Apr 27 Javascript
基于JQuery实现的Select级联
Jan 27 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
angularjs 源码解析之injector
Aug 22 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
Vue项目实现换肤功能的一种方案分析
Aug 28 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
详解node.js 事件循环
Jul 22 Javascript
nginx部署多个vue项目的方法示例
Sep 06 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
Cakephp 执行主要流程
2010/03/24 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
限制复选框的最大可选数
2006/07/01 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
vuex 的简单使用
2018/03/22 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
Python中下划线的使用方法
2015/03/27 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
python excel转换csv代码实例
2019/08/26 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python如何基于redis实现ip代理池
2020/01/17 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
安全教育心得体会
2013/12/29 职场文书
小加工厂管理制度
2014/01/21 职场文书
中学生操行评语大全
2014/04/24 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
少年雷锋观后感
2015/06/10 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
Promise静态四兄弟实现示例详解
2022/07/07 Javascript