跳到主要内容

入门

Lerna 自带专门的 init 命令,可帮助你将 lerna 添加到现有源码仓库中,或从头开始创建一个新的源码仓库。

从零开始

在最简单的情况下,可以使用 lerna init 在一个空目录中创建一个新的源码仓库。为此,我们可以运行以下命令:

# 创建一个空目录 
mkdir ./new-lerna-workspace
# 进入到新创建的目录
cd ./new-lerna-workspace
# 初始化 lerna(使用 --dryRun 参数来预览更改)
npx lerna init --dryRun

请注意,我们在上述示例中传递了 --dryRun 参数,这允许我们预览 lerna init 将对文件系统做出什么更改。这样,我们就可以调整传递给 lerna init 的其他参数(如 --exact--independent),而不必担心出现任何错误时还要回撤了。

一旦我们对所做的更改感到满意了,就可以直接运行 npx lerna init 命令了,--dryRun 参数也就可以去掉了。

现在,你就拥有了一个可正常使用的 git 仓库,包括 npm workspaces 功能,并且 lerna 可以创建、版本管理和发布任何你想开发的软件包了。

将 lerna 添加到现有的仓库中

如果你已经有一个源码仓库了,你仍然可以使用 lerna initlerna 添加到其中。

信息

Lerna 并不负责在你的源码仓库中安装和链依赖项,你的软件包管理器更适合做这项工作。

相反,我们强烈建议您配置自己选择的软件包管理器,以使用其提供的 workspaces 功能:

在已有的源码仓库中初始化 lerna 时,它需要知道应该在哪些软件包上运行。如果你正在使用某个软件包管理器的 workspaces 功能(见上面的提示),那么,lerna 会默认使用你已经配置好的 workspaces 模式。无需额外参数。

或者,也可以使用 lerna init--packages 参数,手动指定一组匹配模式来指定需要管理的软件包:

# 指定一个匹配模式
npx lerna init --packages="packages/*"
# 指定多个匹配模式
npx lerna init --packages="foo/*" --packages="bar/*"