Skip to content

lerna 笔记

已被 pnpm 代替。

此文作为 monorepo 项目管理模式:lerna 工具的使用笔记。

全局安装 lerna

js
npm i lerna -g

初始化 lerna

js
lerna init

创建 package

js
lerna create app1
lerna create app2

添加依赖

js
lerna add b --scope=app1
lerna add c --scope=app2
lerna add app1 --scope=app2

发布到 npm

js
git add .
git commit -m "feat: publish" //会根据commit规范自动生成规范的版本号
lerna publish

其他注意的点

  1. 默认统一版本号。如果分开管理独立版本号,则: lerna init --independent
  2. lerna boostrap 安装所有 packages 的依赖项并且连接本地包的交叉依赖项(symlink)。
  3. private 不会被发布。
  4. lernalerna versionchangelog 生成都依赖于 Conventional Commits。需要保证 commit msg 符合规范。

json

js
{
  "lerna": "2.11.0",
  "npmClient": "yarn",
  "packages": [
    "packages/*"
  ],
  "useWorkspaces": true // 使用yarn workspaces
  "conventionalCommits": true,
  "version": "independent",
  "command": {
    "publish": {
      "message": "chore: Publish"
    }
  }
}