情景举例:
在monorepo中我有两个子项目
- packages/common
- packages/web-project
- web-project 使用了 common@1.0.0 的公共库
- 后来升级common到@2.0.0
- 由于改动太大,于是web-project出现了不兼容的情况
我该如何处理?
正常来讲应该手动去fix这些兼容错误,毕竟monorepo提供的优势之一就是在一个项目中维护多个互相shared的项目并保证可测试性,但是如果我有50个子项目都引用了common,那我每次大改动岂不是都要去手动 兼容50个子项目?
于是我开始怀疑我这种需求到底适不适合monorepo,然后我觉得正解应该是每次我升级common包不会影响web-project,除非我手动升级web-project到2.0.0
lerna中有一个independent mode的模式,就是独立版本的,我还没有尝试过,请问是解决这个需求的问题吗?那这样的话是不是需要每次都把common库发布到npm或者私有registry?或者有其他更好更主流的解决方案感谢回答。