跳到主内容
版本:9.x

pnpm -r, --recursive

别名:mmultirecursive<command> -r

与以下命令一起使用时,在工作区的每个项目中运行命令:

  • install
  • list
  • outdated
  • publish
  • rebuild
  • remove
  • unlink
  • update
  • why

与以下命令一起使用时,会在工作区的每个项目中运行命令,但不包括根项目:

  • exec
  • run
  • test
  • add

如果你希望在运行脚本时也包含根项目,请将 include-workspace-root 设置设为 true

用法示例:

pnpm -r publish

配置项

  • 默认值: false
  • 类型:true,false,deep

将 monorepo 工作空间中本地可用的包链接到 node_modules,而不是从注册源中重新下载它们。 这个功能模拟类似于 yarn workspaces

当设置为 deep 时,本地包也可以链接到子依赖项。

请注意,我们鼓励使用 npmrc 代替来进行此设置,去强制所有环境中都有同样的表现。 此选项单独存在,以便您可以在必要时覆盖它。

--workspace-concurrency

  • 默认值:4
  • 类型:Number

设置同时运行的最大任务数。 对于无限并发使用 Infinity

你可以将 workpace-concurrency 设置为 <= 0 ,它将使用主机内核的数量: max(1, (内核数量) - abs(工作空间的并发数量))

--[no-]bail

  • 默认值:true
  • 类型:Boolean

如果为 true,则在任务抛出错误时停止。

此配置不会影响退出码(exit code)。 即使使用了 --no-bail ,所有任务也都将完成,除非任意的任务执行失败,那么该命令将以非零码(non-zero code)退出。

示例(在每个包中运行测试,如果其中一个包中的测试失败仍继续):

pnpm -r --no-bail test

--[no-]sort

  • 默认值:true
  • 类型:Boolean

当为 true 时,包按拓扑进行排序(依赖于依赖项前)。 通过 --no-sort 禁用。

示例:

pnpm -r --no-sort test

--reverse

  • 默认值: false
  • 类型:Boolean

true 时,软件包的顺序会被反转。

pnpm -r --reverse run clean

--filter &lt;package_selector>

阅读更多有关过滤的内容。