npm version 命令用于更新 package.json 文件中的版本号,并创建一个带有新版本号的 Git标签。这对于发布新版本的包或项目非常有用。

1、基本语法

基本语法为:

npm version <newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<identifier>] [options]

其中,<newversion> 可以是具体的版本号,或者是下面这些关键词之一,每个关键词代表不同类型的版本号更新:

  • patch: 更新补丁版本号(例如 1.0.0 -> 1.0.1)
  • minor: 更新次版本号(例如 1.0.0 -> 1.1.0)
  • major: 更新主版本号(例如 1.0.0 -> 2.0.0)
  • prepatch: 更新一个预发布补丁版本号(例如 1.0.0 -> 1.0.1-0)
  • preminor: 更新一个预发布次版本号(例如 1.0.0 -> 1.1.0-beta.0)
  • premajor: 更新一个预发布主版本号(例如 1.0.0 -> 2.0.0-beta.0)
  • prerelease: 更新一个预发布版本号,如果当前版本已是预发布版本,则递增预发布号(例如 1.0.0-beta.0 -> 1.0.0-beta.1)

2、选项和标志

  • --preid: 当你使用预发布版本命令时,可以使用此标志来指定预发布标识符(例如 beta, alpha)。
  • --no-git-tag-version: 使用此标志可以避免自动创建 git 标签。
  • --no-commit-hooks: 防止在执行命令时运行 git 钩子。

3、基本用法

  • patch:修订版本号 (如 1.0.0 到 1.0.1)
  • minor:次要版本号 (如 1.0.0 到 1.1.0)
  • major:主要版本号 (如 1.0.0 到 2.0.0)
# 更新修订版本号
npm version patch

# 更新次要版本号
npm version minor

# 更新主要版本号
npm version major

自定义版本号

你也可以直接指定一个自定义的版本号:

npm version 1.2.3

预发布

如果你需要发布预发布版本,可以使用 prepatchpreminorpremajorprerelease

# 更新为预发布修订版本 (如 `1.0.0` 到 `1.0.1-0`)
npm version prepatch

# 更新为预发布次要版本 (如 `1.0.0` 到 `1.1.0-0`)
npm version preminor

# 更新为预发布主要版本 (如 `1.0.0` 到 `2.0.0-0`)
npm version premajor

# 更新预发布版本 (如 `1.0.0-alpha.0` 到 `1.0.0-alpha.1`)
npm version prerelease