一、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的完整代码示例请参见本文,希望对大家有所帮助。
原创文章,作者:PVKWD,如若转载,请注明出处:https://www.506064.com/n/333829.html