Yarn Link 所有包/工作区

Und*_*ion 2 javascript lerna monorepo yarnpkg yarn-workspaces

Yarn 的链接允许您注册一个本地包以符号链接到另一个本地包。要使用linkcd 进入包目录并运行yarn link. 这适用于单个包,但是我有一个 monorepo,在 Lerna 旁边使用 Yarn 的工作区。有很多包,我想要一种简单的方法来链接 monorepo 中的所有包。

我的package.json

…
  "workspaces": [
    "packages/*"
  ],
…
Run Code Online (Sandbox Code Playgroud)

我的lerna.json

{
  "npmClient": "yarn",
  "useWorkspaces": true,
  "packages": [
    "packages/*"
  ],
  …
}
Run Code Online (Sandbox Code Playgroud)

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

Und*_*ion 6

Lerna 提供了exec命令来“在每个包中运行任意命令”:

链接文件

lerna exec -- yarn link
Run Code Online (Sandbox Code Playgroud)

取消链接.sh

lerna exec -- yarn unlink
Run Code Online (Sandbox Code Playgroud)