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

pnpm exec

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

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

示例

如果你在项目中依赖 Jest,则无需全局安装 Jest,只需使用 pnpm exec 运行它即可

pnpm exec jest

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

pnpm jest

选项

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

好的。pnpm 将递归运行

pnpm -r exec jest

不好,pnpm 不会递归运行,但 jest 将使用 -r 选项执行

pnpm exec jest -r

--recursive, -r

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

当前包的名称可以通过环境变量 PNPM_PACKAGE_NAME 获取。

示例

修剪所有包的 node_modules 安装。

pnpm -r exec rm -rf node_modules

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

pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME

--resume-from <package_name>

从特定项目恢复执行。这在处理大型工作区时很有用,你希望从特定项目重新启动构建,而无需运行所有在构建顺序中位于其之前的项目。

--parallel

完全忽略并发和拓扑排序,在所有匹配的包中立即运行给定的脚本,并带有前缀流输出。对于跨多个包的长时间运行进程(例如,漫长的构建过程),这是首选标志。

--shell-mode, -c

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

--report-summary

在 run 命令文档中了解此选项

--filter <package_selector>

了解有关过滤的更多信息。