Rebar3

What Rebar3 is
Rebar3 is a free, open-source tool for creating, developing, compiling, testing, and releasing Erlang libraries, applications, and systems. It applies standard Erlang/OTP project conventions and manages dependencies and packages, including deterministic fetching and locked versions for repeatable builds. Sources can come from Hex, Git, Mercurial, or local paths; it also supports workspaces, private registry authentication, and offline installation. Built-in tasks cover compilation, Dialyzer analysis, cross-reference checks, documentation, and code cleanup. Testing options include EUnit and Common Test, and the tool can generate coverage reports. Rebar3 can build deployable releases with tarballs and update scripts for live code updates. Its plugin system allows added tasks and behaviors, with plugins installed per project or globally. It uses Hex for Erlang and Elixir package search and publishing. It runs on Windows, macOS, and Linux, with compatibility documentation listing OTP 26–28 for Rebar3 3.25.1.
Who it suits
The project recommends Rebar3 for systems primarily written in Erlang when repeatable builds and integrated tools matter. It is also suited to developers who need dependency, testing, and release workflows for Erlang/OTP projects.
What it does well
- Free and open source.
- Supports locked dependencies and repeatable fetching.
- Includes EUnit, Common Test, and coverage reports.
- Builds deployable releases and update scripts.
- Supports offline installation and private registry authentication.
What to know first
- Downloaded components can execute arbitrary code.
- Documented compatibility for version 3.25.1 lists OTP 26–28.
- Rebar3 3.25.0 has reported issues with newer Windows and OTP 28.
Limits
The compatibility table lists Rebar3 3.25.1 with Erlang/OTP 26–28. The project notes reported issues on newer Windows versions with Rebar3 3.25.0 and OTP 28.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Rebar3 | Free, open-source Erlang build tool | Free |
As rebar3.org lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Rebar3 website and documentation
- Install Erlang/OTP on Windows, macOS, Linux, or FreeBSD
- Install Rebar3 for the Erlang environment
- Create a project using standard Erlang/OTP conventions
- Add dependencies from Hex, Git, Mercurial, or local paths
- Use built-in tasks to compile, test, analyze, and create releases
Verdict
Rebar3 brings dependency management, build tasks, testing, and release creation to Erlang/OTP projects. Review the compatibility notes for the specific Erlang/OTP and Windows versions in use, and account for the code execution risk of downloaded components.
Questions
What is Rebar3's price?
Rebar3 is free and open source, with a listed price of $0.
Which platforms does it support?
Documentation covers Windows, and the project says Rebar3 should run wherever Erlang runs, including Windows, macOS, Linux, and FreeBSD.
Which dependency sources can it use?
It supports Hex packages, Git sources, Mercurial sources, and local path dependencies.
Does Rebar3 support testing and coverage?
Yes. It supports EUnit and Common Test and can generate code coverage reports.
Can it build deployable releases?
Yes. Rebar3 can create Erlang release tarballs and release update scripts for live code updates.
How can users get help?
Support channels include the documentation, GitHub issues, Erlang Slack, and IRC.
Facts from Rebar3's own pages
- Build and analysis
- Built-in tasks include compilation, Dialyzer analysis, cross-reference checks, documentation generation, and code cleanup. · github.com, 11 Oct 2026
- Compatibility limit
- The project’s compatibility table lists Rebar3 3.25.1 with Erlang/OTP 26–28 and notes reported issues on newer Windows versions with Rebar3 3.25.0 and OTP 28. · github.com, 11 Oct 2026
- Dependency resolution
- Yes · rebar3.org, 22 Sept 2026
- Extensibility
- A plugin system lets users add tasks and behaviors, and plugins may be installed per project or globally. · github.com, 11 Oct 2026
- Intended users
- The project recommends Rebar3 for systems whose main language is Erlang when users value repeatable builds and integrated tools. · github.com, 11 Oct 2026
- Lockfile support
- Yes · rebar3.org, 22 Sept 2026
- Maintainers
- The project lists Tristan Sloughter and Fred Hebert among the maintainers with repository admin rights. · rebar3.org, 11 Oct 2026
- Offline installation
- Yes · rebar3.org, 22 Sept 2026
- Package formats
- Hex packages; Git sources; Mercurial sources; local path dependencies · rebar3.org, 22 Sept 2026
- Package integration
- Rebar3 uses Hex for Erlang and Elixir package management, including package publishing and searching. · rebar3.org, 11 Oct 2026
- Platform support
- The documentation describes installation for Windows and says Rebar3 should run wherever Erlang runs, including Windows, macOS, Linux, and FreeBSD. · rebar3.org, 11 Oct 2026
- Private registry auth
- Yes · rebar3.org, 22 Sept 2026
- Project conventions
- It enforces standard Erlang/OTP project structure to make projects more reusable. · github.com, 11 Oct 2026
- Purpose
- Rebar3 helps create, develop, compile, test, and release Erlang libraries, applications, and systems. · github.com, 11 Oct 2026
- Releases
- Rebar3 can build deployable Erlang releases, including tarballs and release update scripts for live code updates. · github.com, 11 Oct 2026
- Repeatable builds
- It manages source dependencies and packages while supporting deterministic dependency fetching and locked versions. · github.com, 11 Oct 2026
- Security caveat
- Rebar3 can execute arbitrary code from downloaded components, including plugins, parse transforms, and hooks. · rebar3.org, 11 Oct 2026
- Security reporting
- The project asks users to report security issues to its maintainers and says fixes are prepared and reviewed before release and public announcement. · rebar3.org, 11 Oct 2026
- Support
- Users are directed to documentation, GitHub issues, Erlang Slack, and IRC for questions and help. · github.com, 11 Oct 2026
- Supported platforms
- Erlang/OTP environments; documented compatibility includes OTP 26–28 for Rebar3 3.25.1 · rebar3.org, 22 Sept 2026
- Testing
- It supports EUnit and Common Test, and can generate code coverage reports. · github.com, 11 Oct 2026
- Workspace support
- Yes · rebar3.org, 22 Sept 2026
Where Rebar3 stands on Freedom251
- Package Managers#28 of 93