gpt4 book ai didi

node.js - 在 1.0.0 之前对 npm 包进行版本控制的约定是什么?

转载 作者:IT老高 更新时间:2023-10-28 22:02:20 28 4
gpt4 key购买 nike

我正在阅读使用 npm 进行版本控制,显然它提供了一个非常方便的命令来提升你的包版本。

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]

预发布

假设你的包从 0.0.0

版本开始

npm 版本预发布 => 0.0.1-0

npm 版本预发布 => 0.0.1-1

基本上只是在破折号后增加数字

预补丁

0.0.0 开始,改用 pre[major|minor|patch]...

npm version prepatch => 0.0.1-0

npm 版本preminor => 0.1.0-0

npm 主要版本 => 1.0.0-0

补丁

0.0.0 开始使用补丁...

npm 版本补丁 => 0.0.1

npm 版本补丁 => 0.0.2

我了解更改主要次要版本和补丁版本的规则,但是 1.0.0 之前的版本控制的标准约定是什么?

最佳答案

TLDR

我没有看到使用 1.0.0 之前的预发布版本。这似乎毫无意义,因为公共(public) API 尚未最终确定。它们在 1.0.0 发布后变得有用。

那么预发布版本什么时候有用?

来自 semver.org :

Version 1.0.0 defines the public API. The way in which the version number is incremented after this release is dependent on this public API and how it changes.

和:

A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. ...A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version.

我在 1.0.0 之前看到的约定包括对错误修复/错别字使用补丁,对任何重大修改使用次要版本。 1.0.0 之前的约定不那么严格,因为尚未保证公开 API。

当您想与社区分享一些早期功能时,预览版会派上用场。

例如,在撰写本文时,npm-check-updates 的最新稳定版本是版本 1.5.1。我添加的一些新功能引入了向后不兼容的更改,因此为了符合 semver,我必须在 2.0.0 下发布它们。然而,在社区对它进行更彻底的测试之前,我不想将 2.0.0 作为最新的稳定版本发布。因此,我发布了一个预发布版本(使用 npm publish --tag不稳定),版本为 2.0.0-alpha.1。社区成员可以安装预发布版本(使用 npm install -g npm-check-updates@unstable)来试用最新功能,而普通的 npm install -g npm-check-updates 将继续为大多数用户安装稳定的 1.5.1 版本。当预发布版本证明自己时,我可以轻松地将其发布为 2.0.0 的新稳定版。

关于node.js - 在 1.0.0 之前对 npm 包进行版本控制的约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421489/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com