lerna — 多包管理工具

458 阅读1分钟

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里面的依赖 或者(推荐) lernaaddlodashpackages/module1#或者lerna add lodash packages/module-1 \# 或者 lerna add lodash --scope=module-1 # 或者 lernaaddlodash/module1#或者lerna add lodash **/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