Semver(语义化版本号)扫盲

前言

最近在处理创建指定版本的 react native 项目的时候,由于自己的粗心大意,命令写成了这样:react-native init demo --version0.47.2 创建的一直是最新版本,最后排查问题的时候发现是自己少加了一个空格(哈哈 ~~,无言以对),正确的写法应该是 react-native init demo --version 0.47.2

一路追踪代码后发现是 cli.js 文件中判断是否是合法的 Semver 的时候返回的为 false,也就是不是合法的 Semver 语法,只要不合法就默认安装最新版本。

在搜索过程中看到 Semver(语义化版本号)扫盲 这篇文章,写的非常棒,增加了自己的认知。

Semver 是 Github 起草的一个具有指导意义的,统一的版本号表示规则,称为 Semantic Versioning(语义化版本表示)。该规则规定了版本号如何表示,如何增加,如何进行比较,不同的版本号意味着什么。

所以我看到的同时也在想,这种思想不是也可以用在我们平常的项目代码版本管理吗?

并且知道了react native 中文网 中对于 创建指定版本时 “注意版本号必须精确到两个小数点” 这句话的原因了,因为如果不是这样的格式,就违反了 Semver 规则,从而安装默认最新版,不会创建指定版本。
Semver(语义化版本号)扫盲_第1张图片

你可能感兴趣的:(前端,semver)