本文最后更新于:June 30, 2023 pm

作者:wangwenhai # 概要: 本文主要讲Erlang的构建工具Rebar3的基础使用,同时演示一个完整的项目构建过程.

Rebar3简介

image-20191015215711556

​ Rebar3是Erlang的自动化构建工具,类似于NPM或者Maven,都是用来统一管理包的软件。Rebar3前身是Rebar,后来Rebar不再更新,官方推出了Rebar3。

安装

  • windows

    windows下可通过源码构建,操作如下(需要git克隆源码,或者下载压缩包):

    l
    git clone https://github.com/erlang/rebar3.git cd rebar3 ./bootstrap

    接下来会生成build目录,切换进去,把rebar3.exe添加进你的环境变量即可。完成以后打开powershell或者CMD,输入:rebar3,就会有提示。如果没有成功,请认真检查步骤是否错误。

  • MacOS

    MacOS下也一样,直接通过源码构建,如果想安装到本地,在rebar3所在的目录执行

    rebar3 local install

    ​ 会有如下输出:

    ===> Extracting rebar3 libs to ~/.cache/rebar3/lib...
    ===> Writing rebar3 run script ~/.cache/rebar3/bin/rebar3...
    ===> Add to $PATH for use: export PATH=$PATH:~/.cache/rebar3/bin
  • Linux

    Linux下和MacOS下一样,请参考MacOS安装方法。

新建项目

rebar3可以新建很多类型的项目,我们可以help一下:

app (built-in): Complete OTP Application structure.
cmake (built-in): Standalone Makefile for building C/C++ in c_src
escript (built-in): Complete escriptized application structure
lib (built-in): Complete OTP Library application (no processes) structure
plugin (built-in): Rebar3 plugin project structure
release (built-in): OTP Release structure for executable programs
umbrella (built-in): OTP structure for executable programs (alias of 'release' template)

可以构建app 、cmake等等类型,而我们最常用的是app和release。下面我们新建一个app:

rebar3 new app helloworld,会有如下输出:

wangwenhaideMBP:HexoBlog wangwenhai$ rebar3 new app helloworld
===> Writing helloworld/src/helloworld_app.erl
===> Writing helloworld/src/helloworld_sup.erl
===> Writing helloworld/src/helloworld.app.src
===> Writing helloworld/rebar.config
===> Writing helloworld/.gitignore
===> Writing helloworld/LICENSE
===> Writing helloworld/README.md

到此处说明APP以ing新建成功了

调试

调试我们用shell参数:rebar3 shell

wangwenhaideMBP:helloworld wangwenhai$ rebar3 shell
===> Verifying dependencies...
===> Compiling helloworld
Erlang/OTP 22 [erts-10.5.1] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] [dtrace]

Eshell V10.5.1  (abort with ^G)
1> ===> The rebar3 shell is a development tool; to deploy applications in production, consider using releases (http://www.rebar3.org/docs/releases)
===> Booted helloworld

有下面输出说明调试成功。

测试

单元测试命令是:rebar3 unit,具体就不做演示,请查看文档。

发布

发布命令是:reba3 release.如果你想自定义输出目录,可以起个别名:rebar3 as prod release

更多高级特性请看官网:http://www.rebar3.org/docs/getting-started

本文主要讲Erlang的构建工具Rebar3的基础使用,同时演示一个完整的项目构建过程.

d526ee8960474288e71f6f9f8549662fef0f3240


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

ErlangCowboy基础教程 Previous
ErlangTCP服务器实践 Next