17

我们正在迁移我们的 monorepo 以使用Lerna

Lerna 支持 NPM 和 Yarn,此外还允许配置与 Yarn 工作区一起使用。我不清楚带有 Yarn 工作空间的 Lerna 是否比带有 NPM 的 Lerna 有任何明显的优势。许多帖子声称 Lerna 与开箱即用的 Yarn 工作区或多或少做相同的事情。

与带有 NPM 的 Lerna 相比,使用带有 Yarn 工作区的 Lerna 有什么优势吗?

4

2 回答 2

9

据我所知,NPM 没有任何机制可以与 Yarn 相媲美workspaces

Lerna + Yarn 工作空间在开发库时开始大放异彩,而不是应用程序,但是,我发现即使使用应用程序,这种组合也可以通过提供诸如发布管理和轻松定义等便利性来使本地开发人员体验更好并在项目中的所有或选择的“范围”包中运行“根”脚本。

于 2018-09-05T17:03:15.540 回答
7

经过一番调查,我发现了以下差异:

  1. 使用 NPM 会package-lock.json为每个包生成一个文件,而使用 Yarn 只会在项目的根目录中创建一个文件。
  2. Yarn 工作区似乎对解决依赖树中可能的冲突有更好的支持(假设依赖项是在使用它们的模块中声明的,请参阅此问题
于 2018-09-11T15:30:53.647 回答