NPM 包版本控制

NPM package versioning

在 npm 上我读到:

To help developers who rely on your code, we recommend starting your package version at 1.0.0 and incrementing as follows:

假设包在现实世界中的实际版本控制方式符合上述建议;当他们使用含糊不清的词“incrementing”时,他们的意思是推荐:

  1. 下一个版本为 1.0.1、1.1.0 或 2.0.0
  2. 下一个版本的版本号大于 1.0.0(例如甚至 1.0.9)

相关示例:

您已将“您的软件包”作为 v1.0.0 发布在 npm 上
你处理它,重构代码,修复一堆错误并将最后一次提交标记为 v1.0.1
然后你注意到一个严重的错误并在修复它之后,你放了一个 v1.0.2 标签

现在您决定发布一个版本,如果您要将版本发布为 v1.0.2(从未发布过 v1.0.1),您会反对 npm 推荐吗?

嘿,你需要仔细阅读 semantic versioning 他们说 'increment' 版本号时指的是什么:

https://semver.org/

基本形式的语义版本控制是一种告诉您如何增加版本号的格式。

MAJOR version when you make incompatible API changes,

MINOR version when you add functionality in a backwards compatible manner, and

PATCH version when you make backwards compatible bug fixes.

看看我发布的文档:)

一般规则是您发布的版本应使用此方案,称为语义版本控制。如果您在存储库中发布了 public v1.0.1 版本,即使您尚未将其发布到 npm,那么您应该发布下一个错误修复版本 v1.0.2。你绝对不应该将你标记的 v1.0.2 版本作为 v1.0.1 上传到 npm,因为这会造成很多混乱。

但是,如果没有令人信服的理由,您应该尽量不要在发布方式上有差距。有时无论出于何种原因都会发生这种情况,例如,由于 CI 错误,但总的来说你应该尽量避免它。