语义化npm版本号
参考资料:
在package的devDependencies和dependencies2个字段中有指定依赖包版本,这个版本返回一个由一个或多个空格分隔的字符串,这些版本是有一定的语义的,当然依赖还可以用tarball或者git URL。下面我们来学习下这些版本代表的语义。
语义化版本控制的规范是由Gravatars创办者兼GitHub共同创办者Tom Preston-Werner所建立。
版本号的意义
主版号.次版号.修订号( x.y.z )
- 主版号:当你做了不相容的 API 修改,
- 次版号:当你做了向下相容的功能性新增,
- 修订号:当你做了向下相容的问题修正。
指定版本
0.1.2 //指定依赖版本为0.1.2
范围依赖
在指定范围内选择稳定版本进行安装
< Less than
<= Less than or equal to
> Greater than
>= Greater than or equal to
console.info(semver.satisfies('1.2.3', '<1.2.0')); //false
console.info(semver.satisfies('1.2.3', '<1.3.0')); //true
console.info(semver.satisfies('1.2.3', '<1.2')); //false
console.info(semver.satisfies('1.2.3', '<1.3')); //true
console.info(semver.satisfies('1.2.3', '>1.2')); //false
console.info(semver.satisfies('1.2.3', '>1.2.0')); //true
console.info(semver.satisfies('1.2.3', '>1.2 || <1.2')); //true
console.info(semver.satisfies('1.2.0', '>1.2 || <1.2')); //true
高级范围选择
1.2.3 - 2.3.4 //>=1.2.3 <=2.3.4
1.2 - 2.3.4 // >=1.2.0 <=2.3.4
1.2.3 - 2.3 //>=1.2.3 <2.4.0
1.2.3 - 2 // >=1.2.3 <3.0.0
* // >=0.0.0
1.x // >=1.0.0 <2.0.0
1.2.x // >=1.2.0 <1.3.0
"" (empty string) // >=0.0.0
1 // 1.x.x >=1.0.0 <2.0.0
1.2 // 1.2.x >=1.2.0 <1.3.0
波浪范围选择
介于当前版本和副版本+1之间的版本,如不存在副版本,则介于当前版本和主版本+1版本
~1.2.3 // >=1.2.3 <1.3.0
~1.2 // >=1.2.0 <1.3.0 (Same as 1.2.x)
~1 // >=1.0.0 <2.0.0 (Same as 1.x)
~0.2.3 // >=0.2.3 <0.3.0
~0.2 // = >=0.2.0 <0.3.0 (Same as 0.2.x)
~0 // >=0.0.0 <1.0.0 (Same as 0.x)
插入号范围选择
在指定了副版本情况下或主版本不为0情况下,介于当前版本和主版本+1之间的版本,其他情况介于当前版本和副版本+1之间
^1.2.3 // >=1.2.3 <2.0.0
^0.2.3 // >=0.2.3 <0.3.0
^0.0.3 // >=0.0.3 <0.0.4
^1.2.x // >=1.2.0 <2.0.0
^0.0.x // >=0.0.0 <0.1.0
^0.0 // >=0.0.0 <0.1.0
^1.x // >=1.0.0 <2.0.0
^0.x // >=0.0.0 <1.0.0
语义化npm版本号的更多相关文章
- Semver(语义化版本号)扫盲
最近Github 10周年在朋友圈里沸沸扬扬刷屏,小编在工作中却惊讶的发现不少同事对版本号中的beta和rc没有概念,使用 npm install package@next 时,也不清楚next代表的 ...
- npm学习(八)之如何使用语义化版本
npm的语义化版本控制——Semantic versioning 在新发布的代码中传达更改的程度非常重要,因为有时更新会破坏包需要的代码(称为依赖项).语义化版本控制(semver)是一个旨在解决这个 ...
- semantic versioning语义化版本号
语义化版本号 是由github创始人 Tom Preston-Werner 发起的一个关于软件版本号的命名规范,关于这个规范详细的说明可以在 官网 查看,也可访问其 GitHub项目页面 ,官网文档: ...
- semver语义化版本号
semver语义化版本号 语义化版本号各位置的含义 版本号:X.Y.Z X: 代表发生了不兼容的API改变 Y: 代表向后兼容的功能性变化 Z: 代表向后兼容bug fixes 语义化版本号示例 1. ...
- 版本号严格遵守semver语义化标准
地址:http://semver.org/lang/zh-CN/?spm=a219a.7629140.0.0.GUJMXE 语义化版本 2.0.0 摘要 版本格式:主版本号.次版本号.修订号,版本号递 ...
- HTML语义化:HTML5的新标签及IE5.5~9的部分兼容方案
一.前言 本文将介绍HTML5中新增的语义化标签,及在IE5.5~9(IE9已经开始支持部分HTML5新标签了)支持这些新标签的兼容性处理. 目录一坨: 二.语义化标签:article.aside.t ...
- 语义化版本控制规范(SemVer)
摘自: http://semver.org/lang/zh-CN/ 简介 在软件管理的领域里存在着被称作"依赖地狱"的死亡之谷,系统规模越大,加入的套件越多,你就越有可能在未来的某 ...
- 语义化版本控制规范(SemVer)
参考链接 https://semver.org/lang/zh-CN/ 语义化版本 2.0.0 (透过版本号的改变来传达信息.) 摘要 版本格式: 主版本号.次版本号.修订号 版本号递增规则如下: 1 ...
- 关于HTML语义化的一些理解
语义化这个词我想大家都看到了无数次,特别是在一些招聘广告上. 其实我自己也是,不过每次看到都觉得是那些招聘公司复制的,其实他们根本说不清语义化是什么,而且也根本不看重. 所以我一直也没把这东西当回事过 ...
随机推荐
- Oraclet提交提示Record is locked by another user错误
http://blog.csdn.net/alifel/article/details/4324338下午修改oracle datebase中的字段时,提示"Record is locked ...
- Windows下ADB使用相关问题
Windows下ADB使用相关问题 适用环境: 在Windows XP.WIN7下均可按本文操作进行.WIN8下没有进行实验.但操作设置大致同样.除了第4步.adb_usb.ini的位置可能有所不同以 ...
- 在windows下安装apidocjs
1. 下载Node.js官方Windows版程序: https://nodejs.org/download/ 从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.M ...
- 15 nginx反向代理实现nginx+apache动静分离
一:nginx反向代理实现nginx+apache动静分离-------------概念--------------------------- nginx反向代理服务器+负载均衡 用nginx做反向代 ...
- 实模式切换到保护模式,为什么要开启A20地址线(系统升级产生的兼容性问题)
[-1]写在前面: 以下部分内容总结于 http://blog.csdn.net/ruyanhai/article/details/7181842 complementary: 兼容性是指运行在前期C ...
- php生成唯一的串
1.方法一: <?php md5(uniqid('aa',true)); ?> 2.方法2: //生成16位的串$randLength=6; $chars='abcdefghijklmno ...
- PHP部分--图片上传服务器、图片路径存入数据库,并读取
html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- 两个DataGridEHToExcel
procedure TForm1.N1Click(Sender: TObject); var GridtoExcel: TDBGridEhToExcel; begin try Gri ...
- LoadRunner性能测试过程/流程
用LoadRunner进行负载测试的流程通常由五个阶段组成:计划.脚本创建.场景定义.场景执行和结果分析.(1)计划负载测试:定义性能测试要求,例如并发用户的数量.典型业务流程和所需响应时间.(2)创 ...
- _THROW 何解?
在看/usr/include/........中.h头文件对函数接口的定义时,总是能看到在函数结尾加一个_THROW,一时不明白这是什么意思,而且对于有些POSIX和ISO C不承认或未明确的定义的函 ...