rebar3 简单使用

本文介绍了如何使用rebar3,一个废弃的rebar替代工具,进行Erlang应用的构建和测试。首先,文章指导读者下载安装rebar3,并通过设置PATH使其全局可用。接着,详细阐述了如何利用rebar3的模板创建项目,列举了可用的模板类型,并展示了如何自定义项目创建时的变量。此外,还解释了如何通过编辑globals文件永久修改变量值,以实现项目创建的个性化配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想尝试用下rebar,在rebar的github主页发现 rebar已经被抛弃了,那么就按建议说的使用rebar3 吧

Deprecated Erlang build tool that makes it easy to compile and test
Erlang applications, port drivers and releases. We encourage you to
move to https://github.com/erlang/rebar3.

本文使用的rebar3工具来源:https://github.com/erlang/rebar3

下载与安装

下载编译好的版本

$ wget https://s3.amazonaws.com/rebar3/rebar3 
$ chmod +x rebar3

设置path,方便使用

$ pwd
$ /data/bin/rebar3
$ export PATH=$PATH:/data/bin/rebar3

使用export设置的PATH只对当前的shell生效,重启后发现rebar3命令又是command not found
如果要设置path使每次登陆都生效,需要修改profile文件或.bashrc文件
/etc/profile 对所有用户生效
~/.bashrc 对当前用户生效
$ export PATH=$PATH:/data/bin/rebar3
加到profile文件 export PATH 的下一行即可(或.bashrc的末尾),然后重启就可以了。
当然我们肯定不需要去重启,source下刚才修改过的文件就能生效了。

$ source /etc/profile

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。


rebar3 new Template ProjectName

rebar3 提供了一些项目模板,使用new可以通过模板来创建项目
rebar3 new help 可以查看rebar3支持的模板,目前有 app、cmake、escript、lib、plugin和release这几种内置模板
rebar3 new help <template> 可以查看具体模板的详细信息,如:rebar3 new help release

创建项目时的变量

这些变量并不是很重要,但也许你会觉得很刺眼。
我们在rebar3 new help release就发现了,variables都是些默认值,比如

name="myapp"
author_name="Anonymous"
author_email="anonymous@example.org"

如何修改这些变量的值?

如果我们使用rebar3 new release pro1的方式创建项目pro1,那么除了name,其他的值都是默认值。
不过rebar3 new 支持 rebar3 new release name="pro1" author_name="wei" var1="var1" ... 这种形式,在创建项目的时候给这些变量,或自定义变量赋值。


如何一劳永逸地修改这些变量的值?
官方文档是这么说的:

Global variables can be set by editing the file at
$HOME/.config/rebar3/templates/globals:

那么这个globals文件应该是怎么样的呢:

{variables, [
    {author_name, "My Name Is A String"},
    {copyright_year, "2014-2022", "The year or range of years for copyright"},
    {my_custom_var, "hello there"}    ]}.

显然文件globals就是erlang的数据结构定义的key-value格式 。
由于一开始是直接下载编译好的rebar3来用的,在我们的系统中并没有这些目录与文件,所以要自己新建globals文件。

mkdir -p ~/.config/rebar3/templates
touch ~/.config/rebar3/teamplates/globals

我们先创建文件,再按上面的格式去编辑自己的globals文件,最后再使用rebar3 new release test2 这样形式来创建项目,查看test2项目的LICENSE文件的第一行会发现该配置已经生效了。
如果没有生效则很有可能是globals文件的格式或拼写出现了问题,记住,是erlang的tuple结构构成的key-value。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值