入门

Rebar3 是 Erlang 社区中的标准构建工具。它基本上集成了 Erlang 附带的许多其他工具以及一些开源工具,并使它们都在统一的项目结构下工作。

安装 Erlang

Rebar3 依赖于 Erlang 已经存在于您的系统中才能运行。如果 Erlang 在那里运行,Rebar3 也应该在那里运行。

请参阅 Adopting Erlang 部分 安装 Erlang/OTP,了解有关如何为 Windows、MacOS、Linux 和 FreeBSD 安装 Erlang 的详细步骤。

从 Rebar3 escript 安装

下载最新的稳定版本 作为可执行 escript。虽然 Rebar3 的脚本版本是可移植的,并且可以在任何地方使用,但建议不要将其保存在项目的存储库中,而应将其全局安装到整个系统中。无论您安装了哪个版本的 Erlang,Rebar3 都应该完全兼容。

但是,escript 的一个缺点是它比普通的 Erlang 程序慢一些。我们建议安装 Rebar3 的完全编译形式,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

请务必遵循命令输出的说明并将可执行文件添加到系统的 $PATH 中,例如通过调用 export PATH=$PATH:~/.cache/rebar3/bin。然后,您可以删除用于运行 local installrebar3 escript。

rebar3 的新稳定版本可用时,您只需运行 rebar3 local upgrade,新版本将以相同的方式获取和安装

$ 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

Windows

希望从 PowerShell 或 cmd.exe(而不是终端模拟器)使用代码的 Windows 用户必须确保添加了 rebar3.cmd 文件

@echo off
setlocal
set rebarscript=%~f0
escript.exe "%rebarscript:.cmd=%" %*

然后将文件保存到的目录添加到系统 PATH 中。

如果要更改默认路径(C:\Users\<user>),可以设置 REBAR_CACHE_DIR 环境变量,使其指向您喜欢的目录。

从源代码安装

rebar3 项目的仓库托管在 GitHub 上,并附带一个用于从源代码构建的 bootstrap 脚本。这种形式可能会减少 Windows 用户遇到的问题,因为从源代码构建将生成在 cmd.exe 和 PowerShell 环境中都能很好工作的包装器脚本

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

这将把 rebar3 escript 编译到 rebar3 目录的顶层,然后您可以将其全局安装

$ ./rebar3 local install

请注意,如果您计划在同一台机器上使用多个 Erlang 版本,则需要使用其中最旧的版本构建 Rebar3。任何时候都支持三个最新的主要 Erlang 版本:如果最新版本是 OTP-24,则使用 OTP-22 及更早版本构建将受支持,并生成一个可用于后续版本的可执行文件。

创建新项目

Rebar3 提供了模板,以确保您的 Erlang 项目符合常规的 OTP 结构

$ rebar3 new umbrella myproj
===> Writing apps/myproj/src/myproj_app.erl
===> Writing apps/myproj/src/myproj_sup.erl
===> Writing apps/myproj/src/myproj.app.src
===> Writing rebar.config
===> Writing config/sys.config
===> Writing config/vm.args
===> Writing .gitignore
===> Writing LICENSE
===> Writing README.md

OTP 结构是 Rebar3 预期的基本契约的一部分;遵循它将比不遵循它保证更好的体验。

您可以查看 基本用法 以了解有关如何使用 rebar3 的更多信息,并继续学习 工作流程 以了解更广泛的用法。

上次修改时间:2021 年 5 月 19 日:升级到 3.16.0 (21c317d)