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 控制台 - 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