版本号中的~/^

作者: 微微笑的蜗牛 | 来源:发表于2017-01-14 17:59 被阅读26次

podfile中,会经常遇到版本号的配置。"~"算是比较常见的,之前一直没搞清楚它的含义。

版本号
1.2.0
major.minor.patch

版本号分为major,minor,patch。分别对应第一,二,三位。

~

~的意思是:

如果有minor,则patch可以变,minor不能变。
如果没有minor,则minor,patch可变,major不能变。

minor是大腕。

伪代码表示如下:
if (has minor) {
// 左开右闭,patch可变
  return [major.minor.patch, major.(minor+1).0)
} else {
  return [major.minor.patch, (major+1).minor.0)
}

比如:

~1.2.0   ===>   1.2.0 <= x < 1.3.0
~1.3     ===>   1.3.0 <= x < 1.4.0
~2       ===>    2.0.0 <= x < 3.0.0
^
表示左边第一位非0的版本号不变,其他可变。

例子:

major非0     ^1.2.2      ===>   1.2.2 <= x < 2.0.0
minor非0     ^0.1.2      ===>   0.1.2 <= x < 0.2.0
patch非0     ^0.0.1      ===>   0.0.1 <= x < 0.0.2

但是,如果没有patch,patch会默认是0,并且可变,即使major,min都是0。

^0.0 := >=0.0.0 <0.1.0

如果minor,patch都没有,也会默认为0,并且可变,即使major也为0.

^1.x    ===>   1.0.0 <= x < 2.0.0
^0.x    ===>   0.0.0 <= x < 1.0.0

详细可查看https://cnpmjs.org/package/semver 的Tilde Ranges和Caret Ranges

相关文章

  • Maven 进阶

    一、Maven 版本管理 Maven 的推荐版本号约定为:主版本号.次版本号.增量版本号-<里程碑版本> 开发中的...

  • package.json 中~和^的区别

    版本号的一般格式是: 3.4.5 ==》主版本号.次版本号.补丁版本号 在package.json中引入依赖包进行...

  • 版本号中的~/^

    podfile中,会经常遇到版本号的配置。"~"算是比较常见的,之前一直没搞清楚它的含义。 版本号 版本号分为ma...

  • 【潮汐】iOS新版App已经上线,App Store仍显示打开按

    【问题】 部分软件在 APP Store 中无法更新,App Store 中显示的版本号与本地应用版本号不同,但却...

  • iOS pch定义宏失效问题

    今天在打包配置工程时,发现在Pch文件中定义的版本号宏失效了。定义新的版本号,打印出来的版本号还是上一版本号,改变...

  • 产品版本号和修订历史

    产品的版本号和修订历史 在产品实践中,常见或常用的版本号命名方法主要Windows版本命名 项目初版时,版本号为1...

  • Model记录原始字段值

    场景 某个Model中20个字段左右,记录了不同的版本号,有很多地方会修改版本号的值,现在要记录历次版本号的变化,...

  • WIN版本下印象笔记参与搜索的符号种类测试

    测试版本号6.17.19.646,测试时间2019年4月6日 结论:Win版本号6.17.19.646的印象笔记中...

  • iOS数据库版本升级问题

    1.判断数据库版本号和保存数据库版本号 保存新版本号存储到NSUserDefaults中 2.数据库升级 // 获...

  • npm install 安装某个指定的版本

    在npm中安装固定的版本号package,只需要在其后加 ‘@版本号’ npm更新指定的组件

网友评论

    本文标题:版本号中的~/^

    本文链接:https://www.haomeiwen.com/subject/mogebttx.html