1-1.rebar3 构建新的工程
1.准备工作
IDEA编辑器,erlang 21.3,rebar3文件(github搜rebar3)
2.编辑器创建erlang项目
3.建立项目架构
_build:rebar3编译后自动生成的文件夹,里面包含release 和 编译后的文件
apps: 项目代码位置,lager_explanation为项目名
config: 里面包含sys.config(项目配置),以及vm.args(erlang虚拟机配置)
rebar3: rebar3本体文件
rebar.config: rebar3配置文件
后面细说各个结构里面的详细内容
4.rebar.config
%% rebar3 的日志 {erl_opts, [debug_info, {parse_transform, lager_transform} ]}. %% 依赖库 {deps, [ %% lager 使用这一种会从hex仓库拉代码,不建议使用,连接hex仓库非常不稳定 {lager, ".*", {git, "https://github.com/erlang-lager/lager",{tag, "3.6.5"}}} ] }. %% release相关 {relx, [{release, {lager_explanation, "0.1.0" },[lager_explanation, sasl,mnesia,observer,runtime_tools,syntax_tools,tools]}, {sys_config, "./config/sys.config"}, %% 系统日志 {vm_args, "./config/vm.args"}, %% 系统的erlang 启动参数 {dev_mode, true}, %% 开发模式 {include_erts, false}, %% 是否包含erts库 {include_src, false}, %% 不包含代码源文件 {extended_start_script, true}] }. {profiles, [ {run, [{erl_opts,[no_debug_info]}, {relx, [{dev_mode, false} ]} ]}, {prod, [{erl_opts,[no_debug_info,{d,'PRODUCT'}]}, %% release版本为prod,可自己命名,注意release 需要no_debug_info,不然有被反编译的风险 {relx, [{dev_mode, false} ,{include_erts, true} ,{sys_config, "./config/sys.config"} ,{vm_args, "./config/vm.args"} ]}] }] }.
5.apps
erlang的三个必要文件
x.app.src : app的配置
x_app.erl : app的启动文件
x_sup.erl : sup主监控
以上都可以通过IDEA自动创建
6.config
后面一篇详细介绍
7.编译
完成了这些,就可以使用./rebar3 compile 编译代码了
编译成功会看到自动生成了_build文件夹,现在就搭建了一个最简单的服务端框架,引入了日志库lager
如有报错,可以使用 DEBUG=1 ./rebar3 compile 查看详细报错信息
大部分报错是连不上hex仓库,挂上代理可以解决
rebar3的其他命令可以通过./rebar3 help获取,后面章节会陆续介绍
lager的详细使用方法,后面章节说明
浙公网安备 33010602011771号