# 安装与初始化

# 前置知识

Lerna 主要用于管理 Monorepo(一个仓库管理多个 package)。

常见目录结构:

my-monorepo
├─ packages
│  ├─ core
│  └─ utils
├─ package.json
└─ lerna.json
1
2
3
4
5
6

# 安装方式

推荐把 Lerna 安装到项目里(而不是全局):

npm install -D lerna
1

或:

yarn add -D lerna
1

# 初始化项目

在仓库根目录执行:

npx lerna init
1

执行后通常会生成:

  • lerna.json
  • packages/ 目录
  • 根目录 package.json 的 workspace 相关配置(视版本而定)

# lerna.json 常见配置

{
  "version": "independent",
  "npmClient": "yarn"
}
1
2
3
4

# version 字段

  • fixed:所有包共用同一版本号
  • independent:每个包独立版本号(常用)

# 创建 package

npx lerna create @my-scope/utils
1

命令会在 packages 下创建新的 npm 包模板。

# 一个建议

现在很多团队会组合使用 pnpm workspace + lerna:
依赖管理交给 pnpm,发布与变更管理由 lerna 负责,效率会更高。