首页 > 解决方案 > 纱线链接所有包/工作区

问题描述

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

我的package.json

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

我的lerna.json

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

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

标签: javascriptyarnpkglernamonorepoyarn-workspaces

解决方案


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

链接.sh

lerna exec -- yarn link

取消链接.sh

lerna exec -- yarn unlink

推荐阅读