# 安装与初始化
# 前置知识
Lerna 主要用于管理 Monorepo(一个仓库管理多个 package)。
常见目录结构:
my-monorepo
├─ packages
│ ├─ core
│ └─ utils
├─ package.json
└─ lerna.json
1
2
3
4
5
6
2
3
4
5
6
# 安装方式
推荐把 Lerna 安装到项目里(而不是全局):
npm install -D lerna
1
或:
yarn add -D lerna
1
# 初始化项目
在仓库根目录执行:
npx lerna init
1
执行后通常会生成:
lerna.jsonpackages/目录- 根目录
package.json的 workspace 相关配置(视版本而定)
# lerna.json 常见配置
{
"version": "independent",
"npmClient": "yarn"
}
1
2
3
4
2
3
4
# version 字段
fixed:所有包共用同一版本号independent:每个包独立版本号(常用)
# 创建 package
npx lerna create @my-scope/utils
1
命令会在 packages 下创建新的 npm 包模板。
# 一个建议
现在很多团队会组合使用 pnpm workspace + lerna:
依赖管理交给 pnpm,发布与变更管理由 lerna 负责,效率会更高。