> 文章列表 > monorepo

monorepo

monorepo

monorepo

Monorepo(单一仓库)是一种软件开发模式,它将所有相关的代码和组件放在一个版本控制仓库中,而不是分散在多个仓库中

lerna

Lerna是一个工具,它可以帮助管理Monorepo。Lerna提供了一组命令,可以协助开发人员在Monorepo中管理多个包,包括安装依赖项、构建和发布,Lerna还可以帮助管理Monorepo的版本控制和依赖关系。

命令:

  • lerna clean 清除依赖

用于清理 Monorepo 中每个包的 node_modules 目录和 package-lock.json 或 yarn.lock 文件。

  • lerna bootstrap 安装依赖

用于安装 Monorepo 中每个包的依赖项。这个命令会分析每个包的依赖关系,安装它们所需的所有 npm 包,并将它们链接在一起,以便在 Monorepo 中共享代码。这使得开发人员可以更轻松地在 Monorepo 中开发和测试多个包,同时确保它们的依赖关系正确处理。

  • npm run build 构建
  • lerna link 创建符号链接

用于在 Monorepo 中的包之间创建符号链接。这个命令会分析每个包的依赖关系,并在它们之间创建符号链接,以便在 Monorepo 中共享代码并加快开发周期。这样一来,如果一个包修改了另一个包中的代码,修改将立即反映在其他包中,而无需手动运行 npm link 或 yarn link 命令。

  • 其他:

lerna bootstrap 命令会自动安装每个包的依赖项,并将它们链接在一起,以便在 Monorepo 中共享代码。
而 lerna link 命令则是在已经安装好依赖项的情况下,只创建符号链接以共享代码,这个命令更适合手动创建的情况。
因此,lerna bootstrap 命令通常会自动运行 lerna link 命令,以确保每个包之间的链接已经建立,同时还会自动处理交叉依赖项的问题,lerna bootstrap 命令是更全面的 Monorepo 管理命令。