入门
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 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
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
的更多信息,并继续学习 工作流程 以了解更广泛的用法。