概述
类似Java中的Maven,Gradle,在Erlang中同样也有包管理的工具,Rebar提供Erlang依赖(包)管理机制,开发人员可以重复使用已有的模块,通过rebar引入自己的项目直接使用,通过GIT获取托管在github或码云上的项目。
使用依赖
1.找到github或码云上将要用到的项目GIT地址,为演示使用自己的项目,git地址为:
https://git.oschina.net/woniu201/erlanglib.git
2.修改rebar.config配置文件
继续使用笔记二中的mqtt项目,在rebar.config中添加如下:
{sub_dirs, ["rel"]}.
{deps,[
{erlanglib, ".*", {git,
"https://git.oschina.net/woniu201/erlanglib.git",{branch,
"master"}}}
]}.
3.修改rel目录下retool.config配置文件
修改第四行,改后为:
{lib_dirs, ["../deps"]},
4.修改源码文件进行测试
修改src目录下mqtt_app.erl文件中start/2函数,修改内容如下:
start(_StartType,_StartArgs) ->
% 测试调用deps下的erlanglib
X = erlanglib:add(1,2),
io:format("调用erlang:add(1,2)= ~p ~n", [X]),
io:format("调用erlang:main(),输出结果如下: ~n"),
erlanglib:main(),
mqtt_sup:start_link().
5.编译,发布,测试
a.进入根目录 编译:rebar compile
b.发布:rebar generate
c.测试:cd rel/mqtt && ./bin/mqtt console 执行结果如下: