Rebar3 是 Erlang 社区里的标准构建工具。实际上,它集成了许多随 Erlang 发布的其它工具,以及一些开源工具,并且使它们在统一的项目结构下工作。
Rebar3 的运行依赖系统中安装的 Erlang。Erlang 运行在哪里,Rebar3 也应该运行在哪里。
查看 Adopting Erlang 的 Installing Erlang/OTP 部分,获取关于如何为 Windows、macOS、Linux 和 FreeBSD 安装 Erlang 的详细步骤。
下载最新的稳定版本作为可执行的 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 install
的 rebar3
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
rebar3
项目的存储库被托管在 Github 上,并且附带用于通过源代码构建的引导脚本。对于 Windows 用户而言,这种形式可能引起更少的问题,因为通过源代码构建将生成在 cmd.exe
和 PowerShell 环境中正常工作所需的包装器脚本:
$ git clone https://github.com/erlang/rebar3.git
$ cd rebar3
$ ./bootstrap
这将在 rebar3
目录的顶层,编译 rebar3
escript,然后可以全局安装:
$ ./rebar3 local install
注意,如果计划在同一台机器上使用多个 Erlang 版本,那么使用其中最老的版本构建 Rebar3。在任何时候,都支持三个最新的主 Erlang 版本:如果最新版本是 OTP-24,那么支持使用 OTP-22 这样的老版本进行构建,生成与后续版本兼容的可执行文件。
Rebar3 提供模版,确保 Erlang 项目符合常规的 OTP 结构:
x
$ 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 要求的基础合约的一部分;遵循它将比不这样做保证更好的节拍。