Rebar3是Erlang的构建工具和包管理工具。归功于Rebar3以及它的插件Hex,创建和发布你的Erlang包非常简单。让我们做一个简单的“hello world”式的包来演练一下。
下载Rebar3
从Rebar3官方网站下载最新版本的Rebar3,网址:http://www.rebar3.org/
|
|
用chmod赋予其可执行权限,并将它加入你的环境变量PATH。
|
|
你的第一个Erlang应用
使用rebar3 new命令采用内建模块app可以创建一个新的项目。在本例子里我们创建一个叫做myapp的项目。其他可用内建模版是:release、lib、plugin、escript、cmake。
|
|
代码在src目录里。
|
|
因为Rebar3只处理 OTP结构的项目 ,所以约定成俗用一个 .app.src 文件定义你的应用是一个OTP应用。看起来是不是很熟悉?这个文件也是Erlang文件。你可以阅读 详细的指引 来看看它都能包括些什么元素。
|
|
src/myapp_app.erl是一个非常简单的代码框架。它只是让你可以启动和停止你的Erlang应用。
|
|
Rebar3用rebar.config来指定一些额外的元数据,比如依赖。rebar.config还可以包含很多配置项。你可以参考 详细例子 来学习各种配置。
|
|
现在我们用Rebar3启动一个Erlang shell,它包含了你的应用及依赖的路径。然后运行 application:start(myapp). 来确认你的应用被正确地装载了。
|
|
Fred Hebert (Learn You Some Erlang 的作者)写了一篇很好的文章介绍rebar3 shell的命令。
Erlang的包
准备工作
我们需要安装一个叫做rebar3_hex的插件来从Hex.pm(Erlang和Elixir的包管理者)获取和安装Erlang包。简单地把如下一行加入到rebar.config文件中(你需要Erlang/OTP17.4或以上版本)。
|
|
然后运行命令:rebar3 update 来启用这个插件。
|
|
如果你想避免每次创建一个新Erlang应用都要做这个步骤,则将上述配置添加到全局的配置文件rebar.config中,并把这个配置文件放置在如下目录:
|
|
查找Erlang包
搜索命令让你远程查找在Hex.pm上发布的Erlang包。你可以在查询语句里用正则表达式字符。
|
|
安装包
Rebar3能下载和安装Erlang包以及任何必要的依赖。在你的rebar.config文件里增加应用名字到deps配置项,然后运行命令:rebar3 compile。下面的例子,我们尝试使用两个Erlang包,cowboy和meck。
|
|
|
|
想要安装一个Erlang包的指定版本?在配置中把应用名字和版本写在一个元组中。你可以在Hex主页上查询Erlang包的可用版本。
|
|
列出已安装的包
rebar3 deps 命令列出你本地已经安装的包。
|
|
卸载包
要卸载一个包,你首先要在rebar.config文件中将它删除,然后使用命令:rebar unlock。现在我们卸载meck包。
|
|