Lerna 是一种工具,针对 使用 git 和 npm 管理多软件包代码仓库的工作流程进行优化
优势
- 自动解决packages之间的依赖关系
- 通过
git检测文件改动,自动发布 - 根据
git提交记录,自动生成CHANGELOG
环境配置
- git 配置
- npm 登录
常用命令
lerna init --independent
初始化项目 lerna
.json文件里面"version": "independent",
- lerna publish 发布
先通过 git add . git commit 先把包提交到本地库 然后根据更新内容和依赖关系更新到git远程仓库 和npm库 如果 verion:independent 包会分开更新,
- lerna create
创建项目
- lerna add [@version] [--dev] [--exact]
增加本地或者远程
package做为当前项目packages里面的依赖 或者(推荐) lerna add lodash --scope=module-1 # 或者 yarn workspace module-1 add lodash
- lerna bootstrap
默认是npm i,因为我们指定过yarn,so,run yarn install,会把所有包的依赖安装到根
node_modules
- lerna list
列出所有的包,如果与你文夹里面的不符,进入那个包运行
yarn init -y解决
- lerna import
导入本地已经存在的包
- lerna changed
列出下次发版
lerna publish要更新的包。
- lerna clean
删除所有包的node_modules目录
- lerna run
lerna run < script >–[..args] # 运行所有包里面的有这个script的命令 $ lerna run --scope my-component test