前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Lerna的使用及报错问题分析解决

Lerna的使用及报错问题分析解决

作者头像
德顺
发布2024-03-28 09:55:42
1710
发布2024-03-28 09:55:42
举报
文章被收录于专栏:前端资源前端资源

Lerna 是 JavaScript/TypeScript 的原始单体库工具。它已经存在多年,被成千上万的项目使用,包括 React 和 Jest。Lerna 解决了 JavaScript/TypeScript 单体库的两个最大问题:

  1. 多项目命令运行:Lerna 可以针对任意数量的项目运行命令,并且以最高效、正确的顺序执行,还可以在多台机器上分布执行。
  2. 发布流程管理:Lerna 管理从版本控制到发布到 NPM 的整个发布流程,并提供多种选项,确保适应任何工作流程。

Lerna 的优点:

  1. 高效执行任务:Lerna 可以以最高效、正确的顺序并行运行任意数量的项目命令,还可以在多台机器上分布执行。
  2. 多包发布:无论包是否具有独立的版本,Lerna 都可以轻松地将多个包发布到 npm。
  3. 理想的开发体验:使用 Lerna,你可以在同一代码库中开发多个包,共享代码,明确所有权,并获得快速统一的 CI。

Lerna 的使用:

以下是使用 Lerna 的步骤:

  1. 初始化项目 Lerna:在项目根目录中运行以下命令: npx lerna init 会创建一个名为 lerna.json 的配置文件。
  2. 配置工作区:要确保项目根目录的 package.json 文件中已经配置了 workspaces : { "private": true, "workspaces": ["packages/*"] } 这里的 "packages/*" 表示你的工作区中的包都在 packages 文件夹下。
  3. 运行 Lerna 命令:现在你可以运行其他 Lerna 命令,例如安装依赖、发布等。

常见问题:

  1. lerna publish 报错: lerna notice cli v3.22.1 lerna ERR! ENOLERNA `lerna.json` does not exist, have you run `lerna init`? error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 这是因为没有初始化 Lerna,和上面讲到的一样,执行命令: npx lerna init
  2. lerna init 报错: lerna notice cli v8.1.2 lerna ERR! Cannot initialize lerna because your package manager has not been configured to use `workspaces`, and you have not explicitly specified any packages to operate on lerna ERR! See https://lerna.js.org/docs/getting-started#adding-lerna-to-an-existing-repo for how to resolve this 这是因为项目根目录的 package.json 文件中已经配置了 workspaces ,在 package.json 文件中添加如下配置: { "private": true, "workspaces": ["packages/*"] }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Lerna 的优点:
  • Lerna 的使用:
  • 常见问题:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档