我有两个我想同时开发的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 的链接是有效的(但它没有传递依赖)。
如何解决这个问题?