首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带手表任务的Lerna . lerna run .并行

带手表任务的Lerna . lerna run .并行
EN

Stack Overflow用户
提问于 2021-01-26 21:00:07
回答 2查看 3K关注 0票数 7

我有三个包裹:

  • A,依赖于C
  • B,依赖于C
  • C

当使用lerna run build时,CAB之前构建(很好!)

但是,当我开始一个手表任务lerna run watchC从来没有完成,因此AB没有被监视。

使用lerna run watch --parallel同时启动ABC,但是AB都会抛出错误,因为它们无法从C找到dist文件夹( C在重建之前刚刚删除了该文件夹)。

是否有任何方法来启动监视任务,但仍然保持依赖关系的顺序,就像正常运行一样?或者至少推迟一些其他人?

EN

回答 2

Stack Overflow用户

发布于 2021-02-02 18:15:00

更新:基于评论的,我想我现在明白了发生了什么。如果您有构建依赖项,那么它们应该位于同一个线程中,而不是并发线程中,也就是说,它们应该依次构建。

不过,你还是可以试试..。在构建中使用--noClean选项,它不会删除dist文件夹!然后您的并行构建将运行。

三次设置:我将配置/双重检查(您没有列出您的package.json),以便lerna知道该遵循什么顺序

  1. 首先,按照正确的顺序为您的peerDependencies获取列表
  2. 把这些放进devDependencies
  3. 在给定的叶子package.json中,

https://github.com/lerna/lerna,它通常是存储库根。唯一的限制是不能直接嵌套包位置,但这也是“正常”npm包共享的限制。所以..。包/*下的叶包被认为是“最佳实践”。

最后,拓扑顺序将由lerna run在构建中用户,您可以强制它在需要时包含依赖项--include-dependencies /或--include-dependents标志,比如所以

解决方案2:现在你可以做些什么.

代码语言:javascript
复制
lerna run build --concurrency 1
票数 0
EN

Stack Overflow用户

发布于 2021-02-05 03:02:28

据我理解,a和b中的监视作业没有监视节点模块,特别是注入的c依赖项,以及这种行为的结果。

也许,如果您将这些目录添加到您的手表作业,您可以找到一个有效的解决办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65909198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档