安装
npm i lerna -g
lerna init // 初始化lerna配置文件
lerna create xxxx // 创建一个npm模块包
lerna指令
- lerna publish 在当前项目中发布包
- lerna version 更改自上次发布以来的包版本号
- lerna bootstrap 将本地包链接在一起并安装剩余的包依赖项
- lerna list 列出本地包
- lerna changed 列出自上次标记发布以来发生变化的本地包
- lerna diff 自上次发布以来的所有包或单个包的区别
- lerna exec 在每个包中执行任意命令
- lerna run 在包含该脚本中的每个包中运行npm脚本
- lerna init 创建一个新的Lerna仓库或将现有的仓库升级到Lerna的当前版本
- lerna add 向匹配的包添加依赖关系
- lerna clean 从所有包中删除node_modules目录
- lerna import 将一个包导入到带有提交历史记录的monorepo中
- lerna link 将所有相互依赖的包符号链接在一起
- lerna create 创建一个新的由lerna管理的包
- lerna info 打印本地环境信息
基础配置
lerna.json
```javascript lerna init // 创建lerna.json
// lerna.json { “version”: “independent”, “command”: { “punlish”: { “ignoreChanges”: [ “ignored-file”, “.md”, “package.json” ] }, “version”: { “message”: “feat(npm包): lerna publish” } }, “packages”: [ “packages/“ ], “npmClient”: “yarn”, “useWorkspaces”: true }
<a name="K0WXK"></a>
#### 最外层package.json
```javascript
{
"name": "root",
"private": true,
"version": "1.0.0",
"main": "index.js",
"repository": "git@gitlab.ky-tech.com.cn:kuasheng-h5/iaa-common.git",
"license": "MIT",
"scripts": {
"i": "lerna bootstrap"
},
"devDependencies": {
"lerna": "^4.0.0"
},
"workspaces": [
"packages/*"
]
}