详解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 相关文章推荐
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
jQuery 追加元素的方法如append、prepend、before
Jan 16 Javascript
JS清除选择内容的方法
Jan 29 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
Vue项目中如何引入icon图标
Mar 28 Javascript
vue 监听屏幕高度的实例
Sep 05 Javascript
Vue组件的使用及个人理解与介绍
Feb 09 Javascript
为vue项目自动设置请求状态的配置方法
Jun 09 Javascript
简单了解TypeScript中如何继承 Error 类
Jun 21 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
Jul 20 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
JavaScript 防盗链的原理以及破解方法
Dec 29 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进程之间实现共享内存的方法
2014/06/13 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python实现自动发送报警监控邮件
2018/06/21 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python 使用shutil复制图片的例子
2019/12/13 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Python多线程的退出控制实现
2020/08/10 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
银行业务授权委托书
2014/10/10 职场文书
留学推荐信怎么写
2015/03/26 职场文书
2015年班组长工作总结
2015/04/10 职场文书
运动会100米加油稿
2015/07/21 职场文书
儿子满月酒致辞
2015/07/29 职场文书
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle