Rebar3: 入门上手

虽然现在主要使用Elixir, 但现在大部分的依赖都是Erlang开发的, 所以还是有必要学习一下Erlang环境下的主要构建工具rebar3, 版本32的基础上做了大量的变化. 下面简单介绍一下rebar3的上手入门过程.

安装

两种安装方式, 可以从源代码安装, 也可以直接下载二进制程序放在$PATH路径中.

二进制安装

这里下载. 运行chmod +x确保可执行, 复制到$PATH环境变量中的路径中.

创建~/bin目录, 复制rebar3到该目录中, 并添加该路径到环境变量$PATH. 在 ~/.bashrc~/.zshrc中添加如下代码行:

export PATH=~/bin/:$PATH

源码安装

$ git clone https://github.com/erlang/rebar3.git
$ cd rebar3
$ ./bootstrap

在当前目录会生成一个rebar3文件. 把他添加到$PATH中即可.

项目类型

rebar3 定义了四种类型的项目, 分别是 lib, app, releaseplugin.

TypeDescription
lib作为库项目, 一般不能独立运行, 只是作为其他应用的一个组件
app能够独立运行的erlang应用程序
release会创建一个发布包
plugin作为一个插件

依赖锁的管理

下面的表格显示了管理锁的几个命令和说明

CommandDescription
rebar3 deps查看依赖和锁的状态
rebar3 unlock解锁
rebar3 lock加锁
rebar3 tree查看依赖关系

例子:

rebar3 deps

→ rebar3 deps
cowboy* (package 1.0.1)

rebar3 tree

→ rebar3 tree
...
|- bootstrap-0.0.2 (git repo)
|- dirmon-0.1.0 (project app)
|- file_monitor-0.1 (git repo)
|- peeranha-0.1.0 (git repo)
|  |- gproc-git (git repo)
|  |- interclock-0.1.2 (git repo)
|  |  |- bitcask-1.7.0 (git repo)
|  |  |  |- lager-2.1.1 (hex package)
|  |  |  |  |- goldrush-0.1.6 (hex package)
|  |  |- itc-1.0.0 (git repo)
|  |- merklet-1.0.0 (git repo)
|- recon-2.2.2 (git repo)
|- uuid-1.5.0 (git repo)
|  |- quickrand-1.5.0 (git repo)

提取(Extracting)和升级(Upgrading)

安装和运行rebar3的另外一个方式是使用local命名空间. rebar3 local install踢进去escript的内容到~/.cache/rebar3/lib并创建一个shell脚本~/.cache/rebar3/bin/rebar3:

$ ./rebar3 local install
===> Extracting rebar3 libs to ~/.cache/rebar3/lib...
===> Writing rebar3 run script ~/.cache/rebar3/bin/rebar3...
===> Add to $PATH for use: export PATH=$PATH:~/.cache/rebar3/bin
$ rebar3 local upgrade
===> Extracting rebar3 libs to ~/.cache/rebar3/lib...
===> Writing rebar3 run script ~/.cache/rebar3/bin/rebar3...
===> Add to $PATH for use: export PATH=$PATH:~/.cache/rebar3/bin

创建新项目

$ rebar3 new release myrelease
===> Writing apps/myrelease/src/myrelease_app.erl
===> Writing apps/myrelease/src/myrelease_sup.erl
===> Writing apps/myrelease/src/myrelease.app.src
===> Writing rebar.config
===> Writing config/sys.config
===> Writing config/vm.args
===> Writing .gitignore
===> Writing LICENSE
===> Writing README.md
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值