Lerna 與 Nx
Nrwl(Nx 開放原始碼建置系統背後的公司)已接管 Lerna 的管理權。 Nx 是一個由前 Google 員工開發的建置系統,並採用許多 Google 內部工具使用的技術。Lerna 使用 Nx 來偵測工作空間中的套件與其之間的相依性。Lerna 委由 Nx 強大的工作執行程式來執行指令碼,讓您能並行執行指令碼、快取結果,並將其分散到多部機器上,同時確保尊重套件之間的相依性。如需詳細的 Lerna 版本與 Nx 版本相容性清單,請參閱 Lerna 與 Nx 版本比較表。
以下簡要概述每個工具提供的功能。Lerna 可以繼續獨立使用,而免費新增 Nx Cloud 可以大幅改善您現有的工作。
Lerna
特色
成本
免費且開放原始碼
設定
npm install lerna
npx lerna init
Nx
特色
- 只執行受程式碼變更影響的工作
- 先執行先決工作
- 在本地快取工作結果
- 視覺化專案圖形
- Nx Console - Visual Studio Code 外掛程式
成本
免費且開放原始碼
設置
npx lerna add-caching
- 繼續照常使用 Lerna
注意事項
Lexna 在幕後依賴 Nx 的 power task runner 來偵測任務相依性。有些 lerna run
的選項行為不同於舊版本的 Lerna。如需瞭解與舊版本的 Lerna 有何不同的詳細資訊,請參閱使用 Lerna(由 Nx 提供支援)執行任務。
Nx Cloud
功能
- 與組織中的其他人分享快取任務結果
- 有效率地分配任務執行到代理程式作業中
成本
開放原始碼專案免費
對於閉源套件庫,每月前 500 小時的運算時數免費。大多數的套件庫都不會超過這個限制。超過後,每小時需支付 1 美元。
設置
npx nx connect-to-nx-cloud
nx generate @nrwl/workspace:ci-workflow
(或手動設定 CI)- 繼續照常使用 Lerna