跳到主要內文

Lerna 與 Nx

Nrwl(Nx 開放原始碼建置系統背後的公司)已接管 Lerna 的管理權Nx 是一個由前 Google 員工開發的建置系統,並採用許多 Google 內部工具使用的技術。Lerna 使用 Nx 來偵測工作空間中的套件與其之間的相依性。Lerna 委由 Nx 強大的工作執行程式來執行指令碼,讓您能並行執行指令碼、快取結果,並將其分散到多部機器上,同時確保尊重套件之間的相依性。如需詳細的 Lerna 版本與 Nx 版本相容性清單,請參閱 Lerna 與 Nx 版本比較表

以下簡要概述每個工具提供的功能。Lerna 可以繼續獨立使用,而免費新增 Nx Cloud 可以大幅改善您現有的工作。

Lerna

特色

  1. 版本編號 - 自動遞增套件版本,產生變更日誌資料、建立 GitHub 發行版等。
  2. 發布 - 自動建立標籤和將套件發布到套件登錄,例如 npm

成本

免費且開放原始碼

設定

  • npm install lerna
  • npx lerna init

Nx

特色

  1. 只執行受程式碼變更影響的工作
  2. 先執行先決工作
  3. 在本地快取工作結果
  4. 視覺化專案圖形
  5. Nx Console - Visual Studio Code 外掛程式

成本

免費且開放原始碼

設置

  • npx lerna add-caching
  • 繼續照常使用 Lerna
注意事項

Lexna 在幕後依賴 Nx 的 power task runner 來偵測任務相依性。有些 lerna run 的選項行為不同於舊版本的 Lerna。如需瞭解與舊版本的 Lerna 有何不同的詳細資訊,請參閱使用 Lerna(由 Nx 提供支援)執行任務


Nx Cloud

功能

  1. 與組織中的其他人分享快取任務結果
  2. 有效率地分配任務執行到代理程式作業中

成本

開放原始碼專案免費

對於閉源套件庫,每月前 500 小時的運算時數免費。大多數的套件庫都不會超過這個限制。超過後,每小時需支付 1 美元。

設置

  • npx nx connect-to-nx-cloud
  • nx generate @nrwl/workspace:ci-workflow(或手動設定 CI)
  • 繼續照常使用 Lerna