在最近两年越来越多地听到 monorepo 这个词。使用一个大型 repo 管理不同的项目和组件,往往使用特殊的构建工具来做构建。

我的问题是,数据科学领域的大部分开发工作都是默认使用 modular + polyrepo 的设定。除了商业公司的大规模软件开发和重构场景以外,monorepo 是否有真正普适的应用场景?和更加普遍使用的 polyrepo 相比,monorepo 是否有坑?

针对这个话题的争议好像有很多,monorepo.tools 提供了一些总结。

这个应该对需要分别构建子项目的项目比较有用,很多monorepo的工具管理 build cache 和分析依赖树挺方便的,数据科学的语言一般没这种需求吧。