rebar安装及创建项目 rebar作为erlang开发中编译,构建,发布,打包,动态升级的常用工具,下面我记录下rebar工具的安装及使用
从源码安装rebar 
1. 建立文件 install_rebar.sh
2. 拷贝如下shell到 install_rebar.sh

git clone git://github.com/rebar/rebar.git
cd rebar
./bootstrap
sudo cp rebar /usr/local/bin/

3. chmod u+ x install_rebar.sh
4. ./install_rebar.sh 等待安装完成
5. 安装完成启动shell  输入rebar -V 查看是否安装完成。
6 安装正确如下

thinkpad@thinkpad:~$ rebar -V
rebar 2.5.0 17 20140624_142144 git 2.5.0-dirty

7. 使用 rebar -c 查看rebar 常用命令
使用rebar 创建项目
1 .rebar create-app appid=game  创建app sup

==> demo (create-app)
Writing src/game.app.src
Writing src/game_app.erl
Writing src/game_sup.erl

2 . rebar create template=simplesrv srvid=game_server 创建 gen_server 行为模块

==> demo (create)
Writing src/game_server.erl

3. 修改  game_sup

-module(game_sup).-behaviour(supervisor).%% API
-export([start_link/0]).%% Supervisor callbacks
-export([init/1]).%% Helper macro for declaring children of supervisor
-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}).%% ===================================================================
%% API functions
%% ===================================================================start_link() ->supervisor:start_link({local, ?MODULE}, ?MODULE, []).%% ===================================================================
%% Supervisor callbacks
%% ===================================================================init([]) ->%% 添加这行 一个完成的 包含监督 监控 重启 退出的项目 就完成Child = ?CHILD(game_server,worker),{ok, { {one_for_one, 5, 10}, [Child]} }.

4. 编译 返回到上一级目录也就是src目录,运行:./reabr compile   

==> demo (compile)
Compiled src/game_app.erl
Compiled src/game_server.erl
Compiled src/game_sup.erl
Compiled src/game.erl

 

5.  copy 一个测试用的例子,不一定是从gen_server继承过来的,hello.erl 内容是

///

-module(hello).
-export([start/0]).

start() ->
    io:format("Hello world~n").

///

修改game.app.src 如下所示:

{application, game,
 [
  {description, ""},
  {vsn, "1"},
  {modules,[game_app,game_sup,hello]}, %这是新增加的一行
  {registered, [hello]},   % hello 也是新增加的
  {applications, [
                  kernel,
                  stdlib
                 ]},
  {mod, { game_app, []}},
  {env, []}
 ]}.

保存。

6  erl -pa ebin 启动erlang shell  在shell 输入 application:start(game).

运行:appmon:start(). 查看监控树 如下
  

7. 运行这个app,并调用测试我们的程序操作如下:

cd ebin

erl

ls().

%这时进入了ebin 目录的erl 命令行了,再运行:

2> application:start(game).
ok
3> hello:start().
Hello world
ok

好了,这样就可以了。

rebar 使用测试相关推荐

  1. Rebar:Erlang构建工具

    Rebar是一款Erlang的构建工具,使用它可以方便的编译.测试erlang程序.内联驱动和打包Erlang发行版本. Rebar是一个独立的erlang脚本,所以使用Rebar发布程序非常简单,甚 ...

  2. Erlang打包工具rebar安装使用

    Rebar--Erlang构建工具,可以方便的编译测试Erlang应用程序和发布. 一.Rebar的安装 1.在页面https://bitbucket.org/basho/rebar/download ...

  3. ActiveMQ测试工具

    1. 测试工具 目前使用两种测试工具进行压力测试  1. Jmeter 测试单客户端收发多主题,测试高并发,大数据量时的接收效率  2. emqtt_benchmark测试多客户端收发主题,测试高吞吐 ...

  4. 【erlang】【rebar依赖】添加eredis依赖

    在项目开发过程中,不可避免的需要用到数据库,本文就添加以非关系型数据库redis作为例子,为一个项目添加eredis依赖,实现"向服务器请求,服务器从redis中取数据并返回". ...

  5. Erlang:[笔记一,构建工具rebar之编译]

    Rebar概述 Rebar是一款Erlang构建工具,使用它可以方便的编译,测试erlang程序和打包erlang发行版本.Rebar其实是一个独立的erlang脚本,默认情况下,Rebar会按照Er ...

  6. rebar3使用介绍(七)测试

    rebar3使用介绍(七)测试 eunit common test (ct) 代码覆盖率 Rebar3内置了eunit和ct(common_test)测试运行器.通过遵循一些约定,您可以使用单个Reb ...

  7. [erlang] [rebar依赖] app使用lager依赖

    [erlang] [rebar3依赖] lager依赖 一.rebar3添加依赖 这里介绍一下rebar3依赖的声明和使用,其他更多的依赖项内容可以看官方文档rebar3依赖相关文档连接 1.声明依赖 ...

  8. erlang rebar 配置mysql_Erlang打包工具rebar安装使用

    Rebar--Erlang构建工具,可以方便的编译测试Erlang应用程序和发布. 一.Rebar的安装 1.在页面https://bitbucket.org/basho/rebar/download ...

  9. erlang rebar 配置mysql_Erlang Rebar 使用指南之一:入门篇

    Erlang Rebar 使用指南之一:入门篇 全文目录: 本章原文: Rebar 是功能丰富的 Erlang 构建工具.用于Erlang/OTP项目的编译,测试,依赖管理,打包发布等.Rebar 是 ...

最新文章

  1. 2020年1月Github上最热门的开源项目
  2. Java中栈、堆和常量池
  3. spring-cloud:熔断监控Hystrix Dashboard和Turbine的示例
  4. 洛谷 [P1198] 最大数
  5. mybatis和ehcache整合
  6. 如何使用gnvm自动更新Windows10操作系统上的nodejs
  7. EAS WebService部署
  8. QT跨平台项目开发经验(项目打包)
  9. python模拟登陆遇到重定向_python - scrapy模拟登陆知乎出现重定向无法登陆问题
  10. 高级考题_理论干货最最直观的词云分布,带你一次看清天大考题端倪!
  11. devenv /ResetSkipPkgs
  12. jni 调用sock_raw -- 端口扫描
  13. 堪比ps:Affinity Photo for mac(专业修图软件)
  14. 1小时学会jQuery,全程无废话,直接上代码
  15. 【学习笔记】密码学入门(3) 密钥,随机数,PGP软件
  16. UE4 Lights UWorld to FScene [1]
  17. pyscripter与python的关系_【已解决】PyScripter启动出错:Python could not be properly initialized. We must quit....
  18. 003-位运算异或“∧”使特定bit位翻转
  19. HTML5模拟齿轮动画
  20. 分糖果 小明从糖果盒中

热门文章

  1. Alpha 冲刺 (3/3)
  2. matlab一元二次回归分析法,matlab回归分析方法综述.doc
  3. MNN推理引擎框架简介
  4. Android -- MediaRecorder录制短视频
  5. JAVA连接Redis客户端多种方式实现
  6. 大像素全景制作完成后,推广方式有哪些?
  7. 通天塔导游:各种编程语言的优缺点
  8. 五轴数控转台_你真的了解五轴加工吗?看完你会恍然大悟!
  9. 51单片机实现数码管显示小数
  10. 中国医科大学本科毕业论文答辩PPT模板