【问题标题】:What is the difference between rebar and rebar3? or erlang.mkrebar 和 rebar3 有什么区别?或 erlang.mk
【发布时间】:2016-04-27 03:44:49
【问题描述】:

我对 Erlang 编程语言非常陌生。 Erlang 中有标准的构建工具吗?

我已经用谷歌搜索了这些,不确定我应该使用哪一个。不知道用在什么场合?

【问题讨论】:

    标签: erlang rebar


    【解决方案1】:
    • Rebar2: 它是大多数 Erlang 项目都在使用的第一个可用且事实上的构建工具。它使用 Erlang 脚本来获取依赖项、编译、测试和发布您的项目。然而,它不是一个现代的构建工具,并且在开发阶段编译缓慢,难以在大型项目中使用,并且对于新手来说有点难以理解。

    • Rebar3:它是 rebar2 的继任者,试图改进其机制并提供与现代构建工具兼容的新功能。新手也更容易上手

    • Erlang.mk: 这是一个很大的 Makefile。由于 Makefile 速度很快,并且默认情况下在每个 unix 系统中都可用,因此您可以从 Erlang 应用程序构建工具的这些功能中受益。它有一个package index 最知名的 Erlang 项目和其他标准功能,如 Rebar。还有it is faster that rebar2处于开发阶段(初步结果表明rebar3明显比Erlang.mk快)


    我自己使用 Rebar,您的问题的 possible duplicate 有两个答案也推荐 Rebar。但这只是个人喜好问题,我建议考虑两种不同的方法并选择更接近您的目的的方法。

    【讨论】:

    • Rebar 的一个优点是它符合 OTP(我不是说 Erlang.mk 不是,我不使用它!)所以通过使用它你会习惯 OTP文件组织(易于共享应用程序,或查看现有应用程序),所有工具都可以使用(测试、监控......)。
    • 在 Erlang IRC 频道之一发布了一些关于 rebar2、rebar3 和 erlang.mk 构建时间的数字。 Rebar2 是迄今为止最慢的。但是 rebar3 在第一次构建时比 Erlang.mk 快得多,在第二次构建时甚至更快,因为它缓存了很多信息,因此每次运行都必须重新收集。
    • rebar3 具有部分编译功能,因此开发速度非常快,因为它不会重新编译整个项目。 rebar3 还有一个插件,可以自动编译和加载磁盘上更改的文件,从而带来非凡的开发体验。使用 rebar2、rebar3 和 mix(用于长生不老药)后,我发现 rebar3 为我节省了大量时间,并且完全支持 OTP + 兼容。
    猜你喜欢
    • 2019-09-02
    • 2018-12-15
    • 1970-01-01
    • 2018-04-19
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多