跳至主要内容
版本: 9.x

pnpm update

别名: up, upgrade

pnpm update 根据指定的范围将包更新到最新版本。

在没有参数的情况下使用时,会更新所有依赖项。

TL;DR

命令含义
pnpm up更新所有依赖项,遵守 package.json 中指定的范围
pnpm up --latest将所有依赖项更新到最新版本
pnpm up foo@2foo 更新到 v2 上的最新版本
pnpm up "@babel/*"更新 @babel 范围下的所有依赖项

使用模式选择依赖项

您可以使用模式来更新特定的依赖项。

更新所有 babel

pnpm update "@babel/*"

更新所有依赖项,除了 webpack

pnpm update "\!webpack"

模式也可以组合使用,因此下一个命令将更新所有 babel 包,除了 core

pnpm update "@babel/*" "\!@babel/core"

选项

--recursive, -r

在所有具有 package.json 的子目录(不包括 node_modules)中并发运行更新。

用法示例

pnpm --recursive update
# updates all packages up to 100 subdirectories in depth
pnpm --recursive update --depth 100
# update typescript to the latest version in every package
pnpm --recursive update typescript@latest

--latest, -L

将依赖项更新到其最新稳定版本,由其 latest 标签确定(可能跨主要版本升级包),只要 package.json 中指定的版本范围低于 latest 标签(即它不会降级预发布版本)。

--global, -g

更新全局包。

--workspace

尝试链接工作区中的所有包。版本更新为与工作区内包的版本匹配。

如果更新了特定包,则如果任何更新的依赖项未在工作区内找到,则命令将失败。例如,以下命令如果 express 不是工作区包,则会失败

pnpm up -r --workspace express

--prod, -P

仅更新 dependenciesoptionalDependencies 中的包。

--dev, -D

仅更新 devDependencies 中的包。

--no-optional

不要更新 optionalDependencies 中的包。

--interactive, -i

显示过时的依赖项并选择要更新的依赖项。

--filter <package_selector>

阅读有关过滤的更多信息。