Skip to content
On this page

Monorepos中使用Turborepo

问题

Monorepos 有许多优势,但它们难以扩大规模。每个工作区都有自己的测试套件、自己的连接和自己的构建过程。单个 monorepo 可能有数百个任务要执行。

解决方案

Turborepo 解决了 Monorepo 的结垢问题。我们的远程缓存存储您所有任务的结果,这意味着您的 CI 永远不需要做同样的工作两次。

任务调度可能是困难的,在一个单一的。想象 yarn build 需要运行前 yarn test ,在所有的工作空间。Turborepo 可以调度您的任务,以最大的速度,在所有可用的核心。

可以逐步采用 Turborepo。它使用已经编写的 package.json 脚本、已经声明的依赖项和一个 turbo.json 文件。您可以使用它与任何包管理器,如 npmyarnpnpm。你可以在几分钟内把它添加到任何 monorepo 中。

Turborepo 不能做什么

Turborepo 不处理软件包安装。像 npmpnpmyarn 这样的工具已经能够很好地做到这一点。但是它们运行任务的效率低下,这意味着 CI 构建缓慢。

我们建议 Turborepo 运行您的任务,使用您最喜欢的包管理器安装您的包。