【问题标题】:rebar clean does not delete artifacts in sub_dirsrebar clean 不会删除 sub_dirs 中的工件
【发布时间】:2016-01-24 10:49:06
【问题描述】:

我正在使用钢筋 2.6.1(钢筋 2.6.1 R15B03 20150928_141254 git 2.6.1)。我有一个库目录:

libs
  -- lib1
  -- lib2
  rebar.config

libs 目录下的 rebar 配置很简单:

{sub_dirs, [
    "lib1",
    "lib2"
]}.

我意识到使用rebar clean 编译后实际上并没有清理lib1 和lib2 中的ebin 目录。在 bash wiki 上找不到任何文档。 ebin 不清理的原因有哪些?

【问题讨论】:

标签: erlang rebar


【解决方案1】:

Rebar 根据它正在处理的目录的“上下文”进行操作,它决定该目录是 app 目录还是 rel 目录,如果不是则不会播放,或者至少会播放耗尽其可能的操作。

这对于避免意外可能是非常明智的,因为 rebar 在设计上是非常模块化的,无论是在它如何提供核心功能方面,它允许您通过 rebar 环境配置的方式进行扩展,以及提供特定构建案例的插件模块。

我的猜测是您的子目录不适合被清理,可能是因为它可以找到的合理位置中没有 app 文件或 app.src 文件。例如,如果我有“./subdir/ebin/*.app”或“./subdir/src/*.app.src”,我的钢筋将清理子目录,但如果这两个都被删除,它不会...

我不是建议将此作为解决方案,但同样,如果您的子目录看起来像一个 rel 目录,那么它可能会为您清理它 - 我没有检查过 - 但您可以自己尝试在那里添加一个“reltool.config”文件。

【讨论】:

    猜你喜欢
    • 2020-02-04
    • 2014-11-07
    • 1970-01-01
    • 2021-08-30
    • 2012-11-29
    • 2016-03-29
    • 1970-01-01
    • 2018-05-18
    • 2020-12-03
    相关资源
    最近更新 更多