入门
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/*"