安装

  1. npm i lerna -g
  2. lerna init // 初始化lerna配置文件
  3. 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 }

  1. <a name="K0WXK"></a>
  2. #### 最外层package.json
  3. ```javascript
  4. {
  5. "name": "root",
  6. "private": true,
  7. "version": "1.0.0",
  8. "main": "index.js",
  9. "repository": "git@gitlab.ky-tech.com.cn:kuasheng-h5/iaa-common.git",
  10. "license": "MIT",
  11. "scripts": {
  12. "i": "lerna bootstrap"
  13. },
  14. "devDependencies": {
  15. "lerna": "^4.0.0"
  16. },
  17. "workspaces": [
  18. "packages/*"
  19. ]
  20. }