跳到主内容
版本:11.x

pnpm version

添加于:v11.0.0

更新软件包版本。

pnpm version <newversion>
pnpm version <major|minor|patch|premajor|preminor|prepatch|prerelease|from-git>
pnpm version -r [--dry-run]

<newversion> 可以是上述任何版本号,也可以是显式的语义版本号(例如 1.2.3)。 支持工作区和 workspace: 协议,因此工作区包之间的交叉引用会正确更新。

在 git 仓库中运行时,pnpm version 会为版本更新创建一个 git 提交和一个带注释的标签。 工作树必须是干净的(见下文的 --no-git-checks),并且可以使用 --no-git-tag-version 禁用提交/标签。 在递归模式下,Git 提交和标签总是会被跳过,因为在一次运行中多个软件包可能会升级到不同的版本。

使用方法

pnpm version patch
pnpm version minor
pnpm version major
pnpm version 2.0.0
pnpm version prerelease --preid beta

递归版本

添加于:v11.13.0

使用 -r不带版本参数运行,以处理由 pnpm change 记录的待处理变更意图:

pnpm version -r

该过程根据 .changeset/*.md 意图文件汇总并执行发布计划:所有在意图中指定的包都会进行版本升级,同时,所有通过 workspace: 范围依赖于这些包的包也会随之升级。 随后,它会写入变更日志,并将已消耗的意图记录在 .changeset/ledger.yaml 文件中。

在不进行任何更改的情况下预览计划:

pnpm version -r --dry-run

使用 --filter 将范围缩小至工作区的一部分。 选择范围会被扩展直到稳定,因此被提升版本使范围失效的固定组伙伴和依赖对象会自动被拉入。

除非传入 --dry-run--no-git-checks,否则工作区必须是干净的。 请参阅发布管理以了解完整的工作流程。

配置项

--preid <prerelease-id>

用作语义版本号中预发布部分前缀的“预发布标识符”。

pnpm version prerelease --preid beta

--message, -m <message>

提交消息。 消息中的任何 %s 都会被替换为新版本。 默认值为 %s

pnpm version patch --message "chore: release v%s"

--tag-version-prefix <prefix>

创建 Git 标签时使用的前缀。 默认值为 v(例如 v1.2.3)。 设置为空字符串可完全删除前缀。

--no-git-tag-version

不要为版本更改创建 git 提交或标签。

--no-commit-hooks

提交版本号提升时跳过 git 提交钩子(--no-verify)。

--sign-git-tag

使用 GPG 对生成的 git 标签进行签名(git tag -s)。

--no-git-checks

版本号提升之前,不要检查工作树是否干净。

--allow-same-version

允许将版本设置为当前版本。 这对于持续集成(CI)流水线非常有用。

--recursive, -r

将版本更新应用于工作区中的每个软件包(可以使用 --filter 缩小范围)。 递归模式下会跳过 Git 提交和标签创建。

--json

以 JSON 格式输出已升级的软件包列表。