Lerna 脚手架学习指南:从开发到发布
创建 Packages
初始化 npm
npm init npm init -y
安装 Lerna
注意:不安装最新的 v7,因为 v7 删掉了 lerna bootstrap 和 lerna add 命令
npm i lerna@6.6.2 -D npm i lerna@6.6.2 -g
初始化 Lerna
lerna init lerna init --independent
--independent 模式下,每个包的版本号都是独立的,不会统一管理。
创建 Package
这会自动创建 packages 文件夹
lerna create <package-name>
安装依赖
lerna add <package name> --scope <package name> lerna add <package name> --scope <package name> --dev ...
软链接依赖
创建项目内部包之间的软链接,需先在目标包的 package.json 里的 dependencies 添加配置,再执行:
lerna link
脚手架开发和测试
清空所有包已安装的依赖
lerna clean
卸载依赖
执行目录在 packages 文件夹范围内包里的文件,不能删除包
lerna exec -- rm -rf node_modules/
重新安装删除的依赖
会根据各包中的 package.json 里的 dependencies 配置安装对应的依赖
lerna bootstrap
执行 npm 脚本
lerna run test lerna run test --scope <package-name>
脚手架发布和上线
查看版本
lerna version lerna version --conventional-commits lerna version --conventional-commits --amend
查看改动
lerna changed
查看 commit 之间的差异
lerna diff
发布
lerna publish lerna publish --conventional-commits lerna publish --conventional-commits --amend
解决发布时的常见错误
如报错 E401 [UNAUTHORIZED] Login first,解决方案是登录 npm 账号后再次发布。
npm login
本指南整理了 Lerna 的常用命令和一些常见的问题及其解决方案,以帮助开发者更有效地使用 Lerna 管理项目。