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
备注
Lerna 在幕后依赖于 Nx 的强大任务运行器来检测任务依赖。lerna run
的某些选项与旧版 Lerna 的行为不同。有关与旧版 Lerna 不同之处的更多详细信息,请参见 使用 Lerna(由 Nx 提供支持)运行任务。
Nx Cloud
功能
成本
开源项目免费
对于闭源仓库,前 500 个计算小时每月免费。大多数仓库不会超过此限制。超出后每计算小时 1 美元。
设置
npx nx connect-to-nx-cloud
nx generate @nrwl/workspace:ci-workflow
(或手动设置 CI)- 继续像往常一样使用 Lerna