纱线 Link 所有 Packages/Workspaces

Yarn Link All Packages/Workspaces

Yarn 的 link 允许您注册本地包以符号链接到另一个本地包。要使用 link,您可以 cd 进入包目录,然后 运行 yarn link。这在单个包上运行良好,但是我有一个 monorepo,使用 Yarn 的工作区和 Lerna。有很多包,我想要一种简单的方法来链接 monorepo 中的所有包。

我的package.json:

…
  "workspaces": [
    "packages/*"
  ],
…

我的lerna.json:

{
  "npmClient": "yarn",
  "useWorkspaces": true,
  "packages": [
    "packages/*"
  ],
  …
}

是否有一种简单的方法可以在每个包裹上 运行 yarn link(和 yarn unlink)?

Lerna 向 'Run an arbitrary command in each package' 提供 exec 命令:

link.sh

lerna exec -- yarn link

unlink.sh

lerna exec -- yarn unlink