npm version
描述
在包目录中运行此命令以更新版本并将新数据写回 package.json
。
newversion
参数应该是一个有效的 semver
字符串,semver
的第二个有效参数。Inc (patch、minor、major、prepatch、preminor、premajor、prerelease 之一)或 from-git。在第二种情况下,指定字段中的现有版本将增加 1。From-git 将尝试读取最新的 git 标签,并将其用作新的 NPM 版本。
如果在 git 仓库中运行,它还会创建一个版本提交和标签。此行为由 git-tag-version
控制(见下文),可以在命令行中通过运行 npm --no-git-tag-version version
来禁用。如果工作目录不干净,它将失败,除非设置了 -f
或--force
标志。
如果提供了-m
或--message
选项,npm
将在创建版本提交时使用它作为提交消息。如果消息配置包含%s
,那么它将被结果版本号替换。例如:
如果设置了sign-git-tag
配置,那么标签将使用-s
标志对git
进行签名。注意,你必须在 git 配置中设置一个默认的 GPG 密钥才能正常工作。例如:
如果preversion
、version
或postversion
在 package.json
的scripts
属性中。它们将作为运行 npm version
的一部分执行。
具体的执行顺序如下:
在我们开始之前,请检查以确保
git
工作目录是干净的。您的脚本可能会在后续步骤中将文件添加到提交中。如果设置了--force
标志,则会跳过此步骤。运行
preversion
脚本。这些脚本可以访问package.json
中的旧版本。典型的用法是在部署之前运行完整的测试程序。按照要求在
package.json
中更新版本(补丁版、次版本、主版本等)。运行
version
脚本。这些脚本可以访问package.json
中的新版本(例如,他们可以将其合并到生成文件的文件头中)。脚本应该使用git add
显式地将生成的文件添加到提交中。进行 Git 提交和打标签。
运行
postversion
脚本。使用它来清理文件系统或自动推送提交或tag
。
prerelease
升级予发布版本号,如果上一个版本号没有预发布版本号,则下一个自动添加发布版本号(从 0 开始)。
prepatch & patch
prepatch
:升级补丁版本号,如果上一个版本号没有预发布版本号,则下一个自动添加发布版本号(从 0 开始)。同时也会自动升级补丁版本号。patch
:升级补丁版本号,如果上一个版本号有预发布版本号,则去掉预发布版本号。如果没有预发布版本号,则直接升级。
preminor && minor
preminor
:直接升级小版本号,补丁和予发布置为 0。minor
:直接升级小版本号,余置为 0。去掉预发布版本号。
premajor & major
premajor
:直接升级大版本号,其余置为 0。major
:直接升级大版本号,其余置为 0。去掉预发布版本号。
最后更新于
这有帮助吗?