📅  最后修改于: 2023-12-03 15:25:06.132000             🧑  作者: Mango
Lerna 是一种管理多个 JavaScript 项目的工具,可以让你将这些项目放在同一仓库中进行管理,而不是分开维护多个仓库。
Lerna 和 Yarn Workspaces 都是解决这种场景下的问题。两者的差异在于,Lerna 是更为通用的解决方案,可以适用于任何项目,而 Yarn Workspaces 则是专门针对使用 Yarn 作为包管理器的项目。
在安装 Lerna 之前,需要确保你已经安装了 Node.js 和 npm。如果你还没有安装,建议先安装一下。
安装 Lerna 可以通过 npm 进行安装:
npm install -g lerna
以上命令会在全局安装 Lerna,你也可以选择在项目中进行安装,这种方式更为安全。
注意:Lerna 要求 Node.js 的版本在 v10.0.0 或更高版本。
Lerna 具有很多功能,以下是一些常用的功能及其说明。
lerna init
以上命令会在当前目录创建一个 Lerna 仓库,并生成一个 lerna.json 文件和 packages 目录。lerna.json 文件是 Lerna 的配置文件,packages 目录则是存放子包的目录。你可以通过修改 lerna.json 文件来配置 Lerna。
lerna create <package-name>
以上命令会在 packages 目录中创建一个名为
lerna add <package> [--dev] [--peer] [--exact] [--registry=<url>]
以上命令会将 --dev
表示安装为开发依赖,--peer
表示安装为同级依赖,--exact
表示精确匹配版本,--registry
表示指定安装源。
lerna bootstrap [--hoist] [--nohoist=<glob>] [--ignore=<glob>] [--use-workspaces]
以上命令会在所有子包中安装依赖。--hoist
表示将公共依赖提升到根目录下的 node_modules 中,--nohoist=<glob>
表示不将匹配到的模块提升,--ignore=<glob>
表示忽略匹配到的模块,--use-workspaces
表示使用 Yarn Workspaces 进行安装。
lerna run <script> [--scope=<package>] [--stream] [--parallel]
以上命令会在所有子包中运行