本文最后更新于:June 30, 2023 pm
作者:wangwenhai # 概要: 本文主要讲Erlang的构建工具Rebar3的基础使用,同时演示一个完整的项目构建过程.
Rebar3简介
Rebar3是Erlang的自动化构建工具,类似于NPM或者Maven,都是用来统一管理包的软件。Rebar3前身是Rebar,后来Rebar不再更新,官方推出了Rebar3。
安装
windows
windows下可通过源码构建,操作如下(需要git克隆源码,或者下载压缩包):
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 协议 ,转载请注明出处!