深入了解rebar:从框架搭建到使用技巧(rebar3)

一、rebar是什么

rebar是一个erlang程序的构建工具,它使用erlang的make系统对erlang的应用程序进行编译和管理。与makefile相比,rebar使用简单且易于理解。在全世界的erlang社区中,rebar已经成为了标准的通用构建工具。

rebar可以自动生成应用程序的目录结构,自动检查和下载依赖项,支持测试、文档生成、发布以及其他命令。rebar的目标是为erlang应用程序的构建和管理提供完整和一致的解决方案,使得开发人员可以更专注于代码的编写。

二、如何安装rebar

要安装rebar,需要首先安装erlang。在MacOS或者Linux上安装erlang的命令是:

sudo apt-get install erlang

在Windows上,可以从erlang官方网站(http://www.erlang.org/download.html)下载安装程序。

安装完成erlang之后,可以从rebar GitHub页面(https://github.com/rebar/rebar)下载rebar,解压缩后进入rebar目录,使用下面的命令编译rebar:

./bootstrap

执行完成之后,rebar二进制文件将会生成在当前目录下。你可以将其拷贝到系统PATH所在的目录中,这样就可以通过命令行全局调用rebar命令了。

三、如何使用rebar

1、新建一个应用程序

执行下面的命令可以在当前目录下创建一个新的应用程序:

rebar create-app appid=myapp

这条命令将会生成下面的文件结构:

myapp
    |--- ebin
    |--- src
    |--- test
    |--- rebar.config

其中,src目录用于存放应用程序的源文件,test目录用于存放测试文件,rebar.config文件用于存放rebar的配置信息。

2、编译应用程序

在应用程序的根目录下执行下面的命令可以编译应用程序:

rebar compile

执行完成之后,应用程序的二进制文件将会存放在ebin目录下。

3、添加依赖项

rebar允许在应用程序中添加其他的依赖项,这样可以更方便地管理应用程序的依赖关系。

在rebar.config文件中,添加下面的代码即可添加依赖项(例如添加一个名为mylib的依赖项):

{deps, [
    {mylib, ".*",{git, "https://github.com/mylib.git", {branch, "master"}}}
]}.

添加依赖项后,执行下面的命令即可自动下载并编译依赖项:

rebar get-deps compile

4、运行应用程序

在应用程序的根目录下执行下面的命令可以运行应用程序:

erl -pa ebin/

执行完成之后,即可进入到erlang的shell环境,可以通过下面的命令启动应用程序:

application:start(myapp).

5、查看帮助信息

在使用rebar过程中,可以通过下面的命令查看rebar的帮助信息:

rebar -h

通过查看帮助信息,可以了解rebar支持的所有命令和选项。

四、rebar常用技巧和注意事项

1、自定义erlang版本

在某些情况下,我们需要使用指定版本的erlang。在rebar.config文件中,可以指定erlang的版本信息,例如:

{erl_opts, [
    {platform_define, "R14B04"},
    debug_info
]}.

在这里,我们指定了erlang版本为R14B04。

2、生成文档

在编写完代码之后,我们通常需要生成应用程序的文档。rebar提供了一个命令用于生成erlang文档:

rebar doc

执行完成之后,文档将会生成在doc目录下。

3、使用外部插件

rebar还支持使用外部插件,通过在rebar.config文件中添加配置信息即可。例如,我们可以添加一个针对erlang项目的coverage工具——retest:

{retest, ".*", {git, "https://github.com/metajungle/retest.git", {branch, "master"}}}.

添加之后,执行下面的命令即可使用retest进行测试覆盖率的计算:

rebar compile eunit
rebar retest

4、使用较老的erlang版本

在使用较老的erlang版本时,rebar可能会出现一些问题。例如,rebar1.x并不支持erlang 17.0以上的版本。

在这种情况下,我们可以使用旧版本的rebar。在rebar GitHub页面中,可以找到旧版本的构建文件。下载旧版本的rebar之后,可以使用下面的命令进行编译和安装:

./bootstrap && cp rebar ../bin/

5、注意事项

在使用rebar的过程中,需要注意以下几点:

  • 每个应用程序都应该有一个唯一的名字
  • 应用程序的所有依赖项都应该在rebar.config中注册
  • 确保依赖项的git信息是正确的
  • 尽量将依赖项指定为精确版本号,而不是指定为.*
  • 尽量避免在应用程序代码中使用rebar.config文件中定义的变量

结语

通过本文的介绍,相信大家对于rebar有了更深入的了解,并且知道如何使用rebar搭建erlang应用程序。rebar的完整代码示例请参见本文,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平