编程语言
首页 > 编程语言> > rebar3编译及发布erlang程序

rebar3编译及发布erlang程序

作者:互联网

确保已经安装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

标签:relx,依赖,app,应用程序,编译,rebar3,release,erlang
来源: https://blog.csdn.net/py8105/article/details/117605058