纱线链接所有包/工作区

时间:2019-09-18 18:11:15

标签: javascript yarnpkg lerna monorepo yarn-workspaces

Yarn的link允许您注册一个本地软件包以符号链接到另一个本地软件包。要使用link,请进入软件包目录并运行yarn link。这在单独的程序包上可以很好地工作,但是我使用Larnna的Yarn的工作区创建了一个monorepo。包很多,我想用一种简单的方法将monorepo中的所有包链接起来。

我的package.json

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

我的lerna.json

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

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

1 个答案:

答案 0 :(得分:0)

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

link.sh

lerna exec -- yarn link

unlink.sh

lerna exec -- yarn unlink