3

我有两个我想同时开发的monorepos。这是结构:

Monorepo A

package.json
lerna.json
packages/
   componentA1
   componentA2

Monorepo B

package.json
lerna.json
packages/
   componentB1
   componentB2

以下是依赖项:

1) componentA2 depends on componentA1
2) componentB2 depends on componentA1
3) monorepoB depends on componentA2

我在用着

lerna exec -- npm link

两个monorepos上的命令。这使得一个单一仓库中的一切都很好。现在我经常做

npm link componentA1 componentA2 

在 monorepoB 中遵循它们的依赖关系。

虽然这适用于组件 B2,但它对组件 B1 失败。问题似乎是,如果链接的组件本身依赖于某个内部包,则链接将不起作用。

如果我在 monorepoB 中执行 npm ls componentA2 我得到

└── @monorepoA/componentA2@x.x.x  -> /Users/kbhit/Sources/xxx/ddl-admin/ddl-admin-sass/packages/sass invalid

但是到 componentA1 的链接是有效的(但它没有传递依赖)。

如何解决这个问题?

4

0 回答 0