npm version使用方法:组件库组件打包自动版本升级

每个npm包都有一个package.json,如果要发布包的话,package.json里面的version字段就是决定发包的版本号了

version字段结构为: ‘0.0.1’,是有三位的版本号,分别是对应的version里面的:major, minor, patch。

npm version

为了方便用户更改版本号,npm有npm version(官方文档)这个命令来自动更改版本号,同时帮忙commit。

例如:当前版本是 1.1.1,当执行 npm version patch -m '[patch]'的时候,会自动把package.json里面的version改为1.1.2,同时git会多一个commit log [patch],这次改动便是更改package.json。

如果执行了prepatch,版本号会从1.1.1变成1.1.2-0,我们称版本号的三位分别是大号.中号.小号-预发布号

major | minor | patch | premajor | preminor | prepatch | prerelease

major

如果没有预发布号,则直接升级一位大号,其他位都置为0

如果有预发布号: 

  • 中号和小号都为0,则不升级大号,而将预发布号删掉。即2.0.0-1变成2.0.0,这就是预发布的作用
  • 如果中号和小号有任意一个不是0,那边会升级一位大号,其他位都置为0,清空预发布号。即 2.0.1-0变成3.0.0

minor

如果没有预发布号,则升级一位中号,大号不动,小号置为空

如果有预发布号:

  • 如果小号为0,则不升级中号,将预发布号去掉
  • 如果小号不为0,同理没有预发布号

patch

如果没有预发布号:直接升级小号,去掉预发布号

如果有预发布号:去掉预发布号,其他不动

premajor

直接升级大号,中号和小号置为0,增加预发布号为0

preminor

直接升级中号,小号置为0,增加预发布号为0

prepatch

直接升级小号,增加预发布号为0

prerelease

  • 如果没有预发布号:增加小号,增加预发布号为0 
  • 如果有预发布号,则升级预发布号

alpha、beta和rc的区别

在软件版本控制中,以下是 alpha、beta 和 rc 的含义:

1. Alpha

  • 早期开发版本,通常包含新功能。
  • 可能不稳定,主要用于内部测试。
  • 主要目的是收集反馈并修复重大问题。

2. Beta

  • 稍后阶段的测试版本,通常比 alpha 更稳定。
  • 主要用于外部测试,收集用户反馈。
  • 可能仍有一些 bugs,但功能更接近最终版本。

3. **Release Candidate (RC)**:

  • 这是一个接近正式发布的版本。
  • 经过多轮测试,修复了已知问题。
  • 如果没有发现重大缺陷,通常会成为正式版本。

在 `package.json` 中,以下版本号的含义如下:

  • 1.2.3-alpha.9:这是一个预发布版本,表示在正式版本(1.2.3)之前的第九个 alpha 版本。通常用于早期测试,可能不稳定。
  • 1.2.3-rc.1:这是一个发布候选版本(Release Candidate),表示该版本接近稳定,是在正式发布之前的第一个候选版本,通常用于最后的测试。
  • 1.2.3-beta:这是一个预发布的 beta 版本,表示在正式版本(1.2.3)之前的测试版本,通常比 alpha 版本更稳定。

版本号中的预发布标签(如 alpha、beta、rc)表示相对的稳定性,通常按以下顺序排列:alpha < beta < rc < 正式版本。

npm version prerelease

运行 `npm version prerelease` 命令时,npm 会自动增加项目的版本号,生成一个新的预发布版本。这通常会在当前版本号的基础上递增最后的数字部分,并添加一个默认的预发布标识符(如 `-0`)

如果当前版本是 `1.0.0`,运行该命令后,版本将变为 `1.0.1-0`。

npm version prerelease --preid

可以使用 `--preid` 选项来指定自定义的预发布标识符。例如 `alpha`、`beta`、`rc` 等。这样可以生成类似 `1.0.1-alpha.0` 的版本号。

npm version prerelease --preid=beta

这将把版本号更新为 `1.0.1-beta.0`。

Git 标签

默认情况下,npm 会在版本更新时生成一个格式为 `v<newversion>` 的 Git 标签。

npm version patch

这将更新版本并生成一个新的 Git 标签,例如 `v1.0.1`。

npm update 更新依赖到预发布版本

npm update命令可以更新依赖包,但默认情况下它会更新依赖到最新的稳定版本,而不是预发布版本。

预发布版本是一种尚未完全稳定或正式发布的软件版本,通常包含了新的功能和修复了一些bug。如果你想更新到依赖的预发布版本,npm提供了一些选项来指定更新的程度。

npm update --next

通过添加--next选项,npm update命令可以更新到依赖的下一个预发布版本。例如,使用命令"npm update --next",npm会检查并将依赖更新到下一个预发布版本(如果有的话)。

此外,如果你想更新到指定版本的预发布版本,可以使用@符号后跟版本号的方式。例如,使用命令"npm update package@1.2.0-rc.1",npm会将依赖包package更新到指定的预发布版本1.2.0-rc.1。

需要注意的是,预发布版本可能不稳定且存在bug,因此在更新到预发布版本时需要谨慎。通常情况下,建议在生产环境中使用稳定版本,而将预发布版本用于测试和开发环境中。

posted @ 2024-11-05 23:53  李小菜丶  阅读(934)  评论(0)    收藏  举报