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 格式输出已升级的软件包列表。