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
。