支持政策
包管理器
核心 turbo 功能依赖于 JavaScript 生态系统中的包管理器及其对 Workspaces 和锁文件格式的实现。
| 包管理器 | 支持 |
|---|---|
| pnpm 8+ | 稳定 |
| npm 8+ | 稳定 |
| yarn 1+ | 稳定(包括 Yarn Plug'n'Play) |
| bun 1.2+ | 稳定 |
包管理器有其自己的发布计划、错误和功能。虽然我们打算跟上新的主要版本,但我们可能无法立即发布支持。
平台
turbo 通常支持基于 Debian 的 Linux 发行版、macOS 和 Windows,同时支持 x86_64 和 ARM 64 架构。具体来说,我们通过 npm 构建并发布以下二进制文件:
turbo-darwin-64(配备 Intel 芯片的 macOS)turbo-darwin-arm64(配备 Apple Silicon 的 macOS)turbo-linux-64turbo-linux-arm64turbo-windows-64*turbo-windows-arm64*
*: 需要 Windows C 运行时库
Node.js
核心 turbo 功能不依赖于您系统上活动的 Node.js 版本,但 Turborepo 生态系统中的一些包,例如 create-turbo、turbo-ignore 和 eslint-config-turbo 则依赖。对于这些功能,我们打算支持 Node.js 的活动和维护 LTS 版本。
Turborepo 的示例也预期与这些 Node.js 版本兼容。
版本控制
我们支持使用 Git 进行版本控制的仓库以及完全没有版本控制的仓库。任何其他版本控制系统都将被忽略。
请注意,我们使用 Git 来哈希文件,因此没有 Git 的仓库的性能和行为可能会有所不同。
LTS 策略
Turborepo 的主要版本将从下一个主要版本发布之日起支持两年。
旧版本中关键安全修复所需的更改将进行回溯。这种情况很少见,并将以 semver-minor 版本发布,即使它们是破坏性更改。
我们强烈建议您尽可能使用 Turborepo 的最新版本。
| 主要版本 | 发布日期 | 终止日期 |
|---|---|---|
| 2.x | 2024年6月4日 | - |
| 1.x | 2021年12月9日 | 2026年6月4日 |
发布阶段
Turborepo 的稳定构建遵循语义版本控制(semver),并在发布前经过严格测试。
Turborepo 还提供特定的 API,这些 API 可能会在开发的早期阶段发布。这是为了让早期采用者提供宝贵的反馈,并帮助核心团队在稳定发布之前对 API 建立信心。在可能的情况下,预稳定可用的 API 将在文档中和 turbo 本身中进行标记。
并非每个 API 都会在每个阶段发布。我们根据对功能的信心,权衡功能的复杂性、可能的用例以及早期 API 用户的反馈等因素,来确定 API 的阶段。
Turborepo 核心团队要感谢所有早期使用功能的用户,并对您提供的任何反馈表示感谢。
稳定
当 API 达到稳定状态时,它被认为已准备好用于生产。标记为稳定的 API 只会在主要版本中以向后兼容的方式更改。
- 如果一个稳定的 API 即将在未来的主要版本中进行破坏性更改,将提供警告和文档以帮助迁移和下一步措施。
- 如果一个稳定的 API 即将在未来的主要版本中被移除,它将被标记为已弃用,以便提前通知未来的移除。
Beta
Beta API 在稳定发布之前需要对可靠性有更高的信心。在 Beta 阶段,我们对功能的整体设计充满信心,并期望能够以相对较少的更改将功能提升到稳定版。在极少数情况下,API 可能需要进行破坏性更改,并且不属于 semver 的覆盖范围。
我们鼓励早期采用者使用 Beta API,以帮助我们确定功能的设计和稳定性。根据您的风险承受能力,您可以根据需要将该功能用于生产。
目前处于 Beta 阶段的 API
- 无
实验性
实验性 API 缺乏达到稳定状态所需的基本功能。该功能的设计被认为是积极开发中,并且随时可能更改。
我们鼓励您在副项目、概念验证和其他稳定性非必需的环境中帮助我们测试实验性 API。这使您有机会通过在功能开发过程中向核心团队提供早期反馈来协助 API 的开发。我们不建议在可靠性至关重要的地方使用实验性 API。
目前处于实验阶段的 API
turbo queryturbo boundaries和 Tags--experimental-write-cache用于turbo watch--output=json用于turbo ls --affected标志
已弃用
已弃用 API 正在移除过程中。我们打算移除的任何功能都将包含面向现有用户的文档,其中包含下一步措施以及何时预期移除该功能的信息。
当前已弃用的 API
TURBO_REMOTE_ONLY和--remote-only:使用TURBO_CACHE或 --cache