lerna

发布于: 7/20/2022 阅读大约需要1分钟

使用

我们从搭建一个monorepo项目来一步步了解monorepo

  1. 全局安装Lerna
npm install lerna -g
  1. 初始化项目
git init
lerna init

lerna会帮我们生成一个文件夹和两个json文件

  • 📃 package.json
  • 📃 lerna.json
  • 📂 package: 用于存放各个项目

常用操作

添加依赖(全部项目)

该命令将会在每个项目下生成对应的package-lock.jsonnode_modules

lerna add package

如果不想在每个项目下都生成对应包的文件, 则可以将依赖提升至全局

lerna add package --hoist

这样会在项目根目录下生成node_modules和对应的package-lock.json文件

升级特定项目下依赖

如果我们想要升级特定项目下特定依赖的版本, 可以使用--scope=projectName

lerna add package@1.0.1 --scope=A

将内部项目作为依赖

如果我们想要添加packages下其他项目作为依赖, 可以使用下面命令

lerna add A --scope=B

这将会在B项目下的node_modules下创建A项目的软连接(符号链接), 使得A的文件对B项目完全透明

已有项目初始化

当我们创建好一个monorepo发布后, 其他成员或者在其他机器上同步代码的时候需要进行项目初始化

lerna bootstrap --hoist

查看已有项目列表

lerna ls

运行命令

lerna run xxx --scope=xxx

更新版本与发布

使用 lerna version对monorepo中项目版本进行更新,该操作会更新package.json中的version并提交一个commit

相关链接