确保已经安装erlang/OTP和rebar3,否则,可参考本人的“centos7安装erlang/otp”、“centos7安装rebar3”博文完成安装
【1】生成
rebar3为每种类型的项目都提供了模板,通过rebar3 new <template> <project-name>命令使用。
<template>的取值
app: 一个有监督树、有状态的OTP应用程序,是一个单应用程序
lib: 一个OTP依赖(无监督树),与其他模块联合使用,是一个单应用程序
release: 创建一个大型项目
escript: 一个特殊格式的单应用项目,可以编译为一个可执行的脚本程序
plugin: rebar3插件结构
shell 命令举例
rebar3 new app myapp
【2】配置依赖
依赖被配置在rebar.config文件的deps下
{deps, [
{cowboy, "1.0.1"}, % package
{cowboy, {git, "git://github.com/ninenines/cowboy.git", {tag, "1.0.1"}}} % alternatively, source
]
}.
添加依赖
将依赖添加到您项目的应用程序的.app.src文件中,配置你的项目启动时需要用到的依赖。
{application, <APPNAME>,
[{description, ""},
{vsn, "<APPVSN>"},
{registered, []},
{modules, []},
{applications, [
kernel
,stdlib
,cowboy
]},
{mod, {<APPNAME>_app, []}},
{env, []}
]}.
【3】构建项目
只有一个命令compile,就可以拉取应用需要的依赖并且编译整个应用程序
shell 命令
rebar3 compile
【4】生成系统
使用relx构建生成
创建一个应用程序,relx默认配置在rebar.config文件中
rebar3 new release myrel
查看rebar.config文件,我们会发现生成了一些新的元素
{relx, [{release, {myrel, "0.0.1"}, [myrel]},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true}
]
}.
{profiles, [
{prod, [{relx, [{dev_mode, false},
{include_erts, true}]}]}
]
}.
发布:
cd relx
rebar3 release
cd ./_build/default/rel/myrel/bin&&ls