Lerna 脚手架学习指南:从开发到发布

完美前端 / 2023-08-18 / 原文

创建 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 管理项目。