入门
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 init 将 lerna 添加到其中。
信息
Lerna 并不负责在你的源码仓库中安装和链依赖项,你的软件包管理器更适 合做这项工作。
相反,我们强烈建议您配置自己选择的软件包管理器,以使用其提供的 workspaces 功能:
在已有的源码仓库中初始化 lerna 时,它需要知道应该在哪些软件包上运行。如果你正在使用某个软件包管理器的 workspaces 功能(见上面的提示),那么,lerna 会默认使用你已经配置好的 workspaces 模式。无需额外参数。
或者,也可以使用 lerna init 的 --packages 参数,手动指定一组匹配模式来指定需要管理的软件包:
# 指定一个匹配模式
npx lerna init --packages="packages/*"
# 指定多个匹配模式
npx lerna init --packages="foo/*" --packages="bar/*"