螺纹钢和螺纹钢3有什么区别?或者erlang.mk

Lev*_*han 14 erlang rebar

我是Erlang编程语言的新手.Erlang中是否有标准的构建工具?

我已经搜索了这些,不知道我应该使用哪一个.我不知道它用于什么样的场合?

Ham*_*ani 11

  • Rebar2:它是大多数Erlang项目使用它的第一个可用且事实上的构建工具.它使用Erlang脚本来获取项目的依赖关系,编译,测试和发布.然而,它不是一个现代的构建工具,并且在开发阶段的编译速度缓慢,在较大的项目中使用困难以及对于新手来说有点难以理解.

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

  • Erlang.mk:这是一个很大的Makefile.由于Makefile很快并且在每个unix系统中都是默认可用的,因此您可以从Erlang应用程序构建工具中受益于这些功能.它具有大多数着名的Erlang项目的包索引和其他标准功能,如Rebar.此外,rebar2在开发阶段的速度更快(初步结果显示rebar3明显快于Erlang.mk)


我自己使用Rebar,这个可能的问题重复有两个答案,也推荐Rebar.但这是一个品味问题,我建议考虑两种不同的方法,并选择更接近您的目的.

  • 在一个Erlang IRC频道上发布了一些关于rebar2,rebar3和erlang.mk构建时间的数字.Rebar2是迄今为止最慢的.但是rebar3在第一次构建时比Erlang.mk快得多,在第二次构建时更是如此,因为它缓存了很多信息,因此必须重新进行每次运行. (2认同)
  • rebar3具有部分编译功能,因此开发速度非常快,因为它不会重新编译整个项目.此外,rebar3还有一个插件,可以自动编译和加载磁盘上发生变化的文件,从而获得卓越的开发体验.使用了rebar2,rebar3和mix(用于elixir)后,我发现rebar3为我节省了大量时间,并且完全符合OTP标准. (2认同)