Lerna 是一种工具,针对 使用 git 和 npm 管理多软件包代码仓库的工做流程进行优化。 多包管理器javascript
安装
npm i lerna -g
命令
- init 项目初始化
lerna init // 默认初始化 lerna init --independent // 使用独立版本模式 lerna init --exact
init 生成目录java
packages/ // 默认包目录 package.json lerna.json // lerna 配置
- bootstrap 为全部包安装依赖
lerna bootstrap
- add 添加依赖, 相似 npm install
lerna add <package> // 为全部包安装依赖 lerna add <package> --scope=<targe> // 只为 targe 安装 package lerna add <package> --dev // 标记为开发依赖
- run 执行包内 scripts 命令
lerna run test // 执行全部包内的 test 命令 lerna run --scope=root dev // 只执行root包内的 dev 命令
- create 建立新包
lerna create pk-name // 在默认包管理目录生成包 pk-name lerna create pk-name src // 在src目录下生成包 pk-name, 指定包生成目录
- exec 执行任意指令
lerna exec -- rm -fr lib // 删除全部包内的 lib 目录 lerna exec --scope root -- ls // 查看 root 包内目录
- publish 发布包
- updated 更新包
- clean 删除全部包内 node_modules
- changed 列出有更新的包
- list 列出公共包
lerna ls // 显示全部公开包, package.json => { private:false } lerna ls -a // 显示全部包, 包含私有包
- import 导入本地包
- link 建立依赖链接
- info 显示基础信息
learn.json 配置
{ "version": "1.1.3", // 统一包版本, 为 "independent" 时,各个包独立管理版本 "npmClient": "yarn", // 包命令客户端 "npmClientArgs": [ "--production" ], // 包命令参数 "packages": [ // 包管理目录 "packages/*", "apps/*" ], "command": { // 命令配置 "publish": { "ignoreChanges": ["ignored-file", "*.md"], "message": "chore(release): publish", "registry": "https://npm.pkg.github.com" }, "bootstrap": { "ignore": "component-*", "npmClientArgs": ["--no-package-lock"] } }
文档
官网文档node
中文文档git
lerna 的基础使用github
本文同步分享在 博客“直立猿”(JianShu)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。json