Lerna 是一个用于优化托管多个相关 JavaScript 项目的工作流程的工具。它允许开发者在一个仓库中维护多个相关的 NPM 包,并提供了一些便捷的命令来管理这些包的发布、版本控制和依赖管理。
安装 Lerna
在开始之前,你需要先全局安装 Lerna,可以通过以下命令来安装:
npm install -g lerna
创建 Lerna 仓库
在项目工作目录下,运行以下命令来创建 Lerna 仓库:
lerna init
这个命令会在当前目录下创建一个 Lerna 仓库,并且会生成一个 lerna.json
文件和一个名为 packages
的目录。packages
目录下会有一个 README.md
文件和一个 .gitkeep
文件。
创建子包
通过 Lerna,我们可以很方便地创建子包。在 packages
目录下运行以下命令:
lerna create package-name
这个命令会创建一个名为 package-name
的子包,并在 packages
目录下生成该子包的目录和一些初始文件。你可以根据需要修改这些文件,比如添加代码、定义依赖等。
子包之间的依赖管理
在 Lerna 中,子包之间的依赖管理也是非常简单的。在 packages
目录下的子包中,你可以使用正常的 NPM 命令来添加、删除和更新依赖关系。例如,运行以下命令来添加一个依赖:
cd packages/package-name
npm install dependency-name
发布子包
当你准备好发布子包时,可以使用 Lerna 提供的简便命令来完成。在项目根目录下运行以下命令:
lerna publish
这个命令会提示你输入发布的版本类型,你可以选择 semver 标准的版本类型,比如 patch、minor 或 major。Lerna 会自动为每个修改过的子包的版本号增加对应的 label,并将修改推送到远程仓库。
其他常用命令
Lerna 还提供了其他一些有用的命令来简化包管理的工作流程,在这里我们简单介绍几个常用的命令:
lerna bootstrap
:用于安装所有子包的依赖关系lerna clean
:用于清除所有子包的依赖关系和构建产生的文件lerna run
:用于在所有子包中执行指定的命令
Lerna 提供了很多其他的功能和选项,你可以查阅 Lerna 的官方文档来了解更多信息。
使用 Lerna 管理多个相关的 NPM 包可以极大地简化包管理的工作量,提高开发效率。如果你的项目中有多个相关的 NPM 包需要同时开发和维护,Lerna 绝对是一个值得尝试的工具。
本文来自极简博客,作者:深海探险家,转载请注明原文链接:使用Lerna管理多个相关的NPM包