跳到主内容
版本:Next

pnpm -r, --recursive

别名:m, multi, recursive, <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 的工作空间中的本地可用package链接到 node_modules 中,而不是从注册表重新下载。 这个功能模拟类似于 yarn workspaces

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

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

--workspace-concurrency

  • 默认值: 4
  • 类型:Number

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

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

--[no-]bail

  • 默认值: true
  • 类型:Boolean

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

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

示例(在每个package中 run test,如果其中任意一个失败则继续):

pnpm -r --no-bail test

--[no-]sort

  • 默认值: true
  • 类型:Boolean

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

示例:

pnpm -r --no-sort test

--reverse

  • 默认值: false
  • 类型: boolean

当为 true 时,package之间的顺序会颠倒。

pnpm -r --reverse run clean

--filter <package_selector>

阅读更多有关 filter 的内容。

[include-workspace-root]: ../npmrc. md#include-workspace-root