pnpm self-update
将 pnpm 更新到最新版本或指定版本。
pnpm self-update [<version>]
用法示例:
pnpm self-update
pnpm self-update 10
pnpm self-update next-10
pnpm self-update 10.6.5
行为
pnpm self-update 的行为取决于项目上下文:
在一个固定 pnpm 的项目中
当项目的 package.json 文件中的 packageManager 字段设置为 pnpm(或者有 pnpm 的 devEngines.packageManager 条目)时,self-update 只会将 package.json 文件中的固定版本更新为已解析的版本。 它不会全局安装 pnpm。 下次运行 pnpm 命令时,pnpm 将自动下载并切换到指定的版本。
在项目之外(或当 pnpm pin 被忽略时)
如果项目没有固定 pnpm,或者通过 pmOnFail: ignore 忽略了固定,则 self-update 会将解析后的 pnpm 版本全局安装,并将其链接到 PNPM_HOME,使其成为系统上活动的 pnpm 二进制文件。
Installing pnpm v12 (the Rust port)
Since v11.10.0, pnpm self-update (and packageManager version-switching) can install and link pnpm v12, the Rust port. It is published under both the pnpm and @pnpm/exe names on the next-12 dist-tag:
pnpm self-update next-12
v12 ships native binaries as @pnpm/exe.<platform>-<arch> packages, which pnpm's built-in installer links directly. There is no Node.js launcher, so the command pays no Node.js startup cost. From v12 onward the install converges on the unscoped pnpm package (the Rust executable), even when updating from the SEA @pnpm/exe build.