作業系統
turbo
通常支援基於 Debian 的 Linux 發行版、macOS 和 x86_64 與 ARM 64 架構上的 Windows。具體來說,我們透過 npm
建置並傳送下列二進位檔案
- turbo-darwin-64(搭載 Intel 晶片的 macOS)
- turbo-darwin-arm64(搭載 Apple Silicon 的 macOS)
- turbo-linux-64
- turbo-linux-arm64
- turbo-windows-64
- turbo-windows-arm64
Darwin 建置適用於搭載 Intel 和 Apple Silicon 的 macOS。Linux 建置已在 Ubuntu 上測試,但我們預期它們可以在大多數 基於 Debian(在新分頁中開啟) 的發行版上執行。Windows 建置已在 GitHub Actions 中的 windows-latest
執行器(在新分頁中開啟) 上測試。
不支援的平台
透過從原始碼編譯,可以在不支援的平台上執行 turbo
。說明已提供在 貢獻指南(在新分頁中開啟) 中。建置的原始碼為單一二進位檔案,因此您不會透過 Node.js 套件管理員(例如 npm install turbo
)進行安裝和呼叫,而是直接執行 turbo
二進位檔案
/path/to/turbo run build
由於此類呼叫 turbo
也會遞延到您 node_modules 目錄中安裝的 turbo
,如果您嘗試在具有 package.json 相依項中的 turbo
的 JavaScript 專案上執行 turbo
,請使用 --skip-infer
旗標來略過遞延到已安裝的二進位檔。
Node.js 相容性
大部分核心 turbo
功能(特別是 turbo run
)不依賴於系統上的 active Node.js 版本,但 Turborepo 及其生態系統的一些功能(例如 create-turbo
、turbo-ignore
和 eslint-plugin-turbo
)則依賴。對於這些功能,我們打算支援 Node.js 的 active 和維護 LTS 版本(在新分頁中開啟)。
我們預期所有 範例 也能與這些版本搭配使用。
套件管理員
核心 turbo
功能仰賴 JS 生態系統中的套件管理員,以及它們對工作區設定 (在單一儲存庫中) 和鎖定檔案格式的實作。我們打算支援
npm
(v6 以上)yarn
(v1 以上) (v4 部分支援)pnpm
(v6 以上)bun
(v1 以上) (測試版,不支援所有功能)
請注意,套件管理員本身有自己的發布時程、錯誤和功能。雖然我們打算跟上新的主要版本,但我們可能不會立即發布支援。
版本控制
我們支援使用 .git
版本控制的儲存庫,以及完全沒有版本控制的儲存庫。任何其他版本控制系統都將被忽略。請注意,我們使用 git
對檔案進行雜湊,因此沒有 git 的儲存庫可能會執行和表現不同。
版本
Turborepo 「大致上」遵循 SemVer 政策。這表示我們通常不會預期在修補程式或次要版本中進行故意的「重大」變更。
以下可能是例外情況
-
turbo.json
中的組態變更。這些變更通常應搭配一個 codemod,你可以使用
npx @turbo/codemod update
執行,並至少包含一個包含不推薦訊息的次要版本。 -
對
turbo
CLI 指令的故意行為變更。這些變更應納入次要版本。如果變更幅度大或破壞性夠大,我們可能會包含旗標以選擇加入之前的行為。