pnpm exec

在项目范围内执行 shell 命令。

node_modules/.bin 添加到 PATH,因此 pnpm exec 允许执行依赖项的命令。

示例

如果您将 Jest 作为项目的依赖项,则无需全局安装 Jest,只需使用 pnpm exec运行它:

  1. pnpm exec jest

当命令与内置 pnpm 命令不冲突时, exec 部分实际上是可选的,因此您也可以运行:

  1. pnpm jest

配置项

exec 命令的任何选项都应该在 exec 关键字之前列出。 在 exec 关键字之后列出的选项都将被传递给被执行的命令。

好的做法。 pnpm 将以递归的方式运行。

  1. pnpm -r exec jest

糟糕的做法,pnpm 将不会以递归方式运行,但 jest 将使用 -r 选项执行。

  1. pnpm exec jest -r

--recursive, -r

在工作区的每个项目中执行 shell 命令。

当前软件包的名称可通过环境变量PNPM_PACKAGE_NAME

示例

为所有的软件包清理 node_modules 安装信息。

  1. pnpm -r exec rm -rf node_modules

查看所有包的包信息。 这应该与 --shell-mode(或 -c)选项一起使用,以使环境变量起作用。

  1. pnpm -rc exec pnpm view $PNPM_PACKAGE_NAME

--resume-from <package_name>

添加于:v7.22.0

从特定项目中执行。 如果您有一个巨大的工作区并且希望在特定项目中重新启动构建,而不运行构建顺序中位于它之前的所有项目,这将很有用。

--parallel

完全忽略并发和拓扑排序,在所有匹配的包中立即运行给定的脚本 并输出前缀流。 这是个推荐的标志,用于在许多 packages上长时间运行的进程,例如冗长的构建进程。

--shell-mode, -c

在 shell 中运行该命令。 在 UNIX 系统中使用 /bin/sh,在 Windows 系统中使用 \cmd.exe

--filter <package_selector>

阅读更多有关 filter 的内容。