0.0.1 是有效的语义版本吗?
Is 0.0.1 valid semver?
一位同事无意间就某个模块的第一个版本发生了争论。我们想知道 0.0.1 是否应该是初始版本。我认为 0.1.0 是合适的第一个版本,因为 0.0.1 意味着补丁的增量,而补丁意味着之前的版本。所以根据我的理解,必须有一个 0.0.0.
我浏览了 http://semver.org 文档,它确实说 0.1.0 通常是初始版本,但我没有看到任何规则禁止在主版本也为 0 时将次版本号设置为 0 .
有谁知道 0.1.0 是最低版本是正式规则还是惯例?
这里没有规则,约定也很松散。
当初始主编号为零时,只能保证较高的编号在较低的编号之后。所有关于 "this is a bug fix" 或 "old functionality still works" 的语义版本控制保证仅适用于版本一或更高版本。
虽然 0.1.0 是最低版本号的松散约定,但有些人会争辩说它是与其他人共享的第一个版本。语义版本控制的规范只是看到前导零并洗手。
semver 2.0.0 specification 并不排除它。不过,FAQ 确实建议从 0.1.0 开始。
How should I deal with revisions in the 0.y.z initial development phase?
The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.
根据 semver 计算器 (https://semver.npmjs.com/), it is not recognizing the versions which start with 0.0.x.Semver Calculator Screenshot
语义控制 (semver) 大约 'safely moving your project forward.' — 来自文档介绍第二段的最后一行。
根据这个定义和目的,我们应该为每个版本增加我们的版本号(增加版本然后提交)。
来自文档(规则 #2):版本号(MAJOR、MINOR 和 PATCH 是非负整数)。
如果您从 0.0.0 开始,您必须碰到可能是 0.0.1 或 0.1.0 的东西,其中 MAJOR '0' 表示您仍在 development.You 很可能会直接碰到 1.0.0其中 MAJOR '1' 表示初始 public 版本。
记住规则,如果你撞到 MAJOR,你必须将 MINOR 和 PATCH 重置为“0”...如果你撞到 MINOR,你必须将 PATCH 重置为“0”。这可以防止您同时碰撞所有三个。
为了发布 0.0.0,您必须在 package.json 中从 0.-1.-1 或 0.0.-1 开始(您不能按照规则 #2),这样当您发布(bump版本然后提交)你有一个版本号为 0.-1.0(你不能按规则 #2)或 0.0.0;
semver 的常见问题解答说 "The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release." 他们说的是实际发布;在你完成之后(bump 版本然后提交)。提到这一点是因为您可能有一个编号为 0.0.1 的版本,这表明您修复了一些错误。
0.0.0 = 初始开发版本(不存在)
0.0.1 = 自 (0.0.0 | 您开始的位置)以来修复的错误
0.1.0 = 自(0.0.0 | 您开始的地方)以来添加的功能
一位同事无意间就某个模块的第一个版本发生了争论。我们想知道 0.0.1 是否应该是初始版本。我认为 0.1.0 是合适的第一个版本,因为 0.0.1 意味着补丁的增量,而补丁意味着之前的版本。所以根据我的理解,必须有一个 0.0.0.
我浏览了 http://semver.org 文档,它确实说 0.1.0 通常是初始版本,但我没有看到任何规则禁止在主版本也为 0 时将次版本号设置为 0 .
有谁知道 0.1.0 是最低版本是正式规则还是惯例?
这里没有规则,约定也很松散。
当初始主编号为零时,只能保证较高的编号在较低的编号之后。所有关于 "this is a bug fix" 或 "old functionality still works" 的语义版本控制保证仅适用于版本一或更高版本。
虽然 0.1.0 是最低版本号的松散约定,但有些人会争辩说它是与其他人共享的第一个版本。语义版本控制的规范只是看到前导零并洗手。
semver 2.0.0 specification 并不排除它。不过,FAQ 确实建议从 0.1.0 开始。
How should I deal with revisions in the 0.y.z initial development phase?
The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.
根据 semver 计算器 (https://semver.npmjs.com/), it is not recognizing the versions which start with 0.0.x.Semver Calculator Screenshot
语义控制 (semver) 大约 'safely moving your project forward.' — 来自文档介绍第二段的最后一行。
根据这个定义和目的,我们应该为每个版本增加我们的版本号(增加版本然后提交)。
来自文档(规则 #2):版本号(MAJOR、MINOR 和 PATCH 是非负整数)。
如果您从 0.0.0 开始,您必须碰到可能是 0.0.1 或 0.1.0 的东西,其中 MAJOR '0' 表示您仍在 development.You 很可能会直接碰到 1.0.0其中 MAJOR '1' 表示初始 public 版本。
记住规则,如果你撞到 MAJOR,你必须将 MINOR 和 PATCH 重置为“0”...如果你撞到 MINOR,你必须将 PATCH 重置为“0”。这可以防止您同时碰撞所有三个。
为了发布 0.0.0,您必须在 package.json 中从 0.-1.-1 或 0.0.-1 开始(您不能按照规则 #2),这样当您发布(bump版本然后提交)你有一个版本号为 0.-1.0(你不能按规则 #2)或 0.0.0;
semver 的常见问题解答说 "The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release." 他们说的是实际发布;在你完成之后(bump 版本然后提交)。提到这一点是因为您可能有一个编号为 0.0.1 的版本,这表明您修复了一些错误。
0.0.0 = 初始开发版本(不存在)
0.0.1 = 自 (0.0.0 | 您开始的位置)以来修复的错误
0.1.0 = 自(0.0.0 | 您开始的地方)以来添加的功能