Skip to content
Branch: master
Go to file

Latest commit

ferd committed 86ad0a3 Jun 21, 2020
Merge pull request #804 from weiss/fix-help-typo
extended_bin: Fix typo in help output


Failed to load latest commit information.
Latest commit message
Commit time

Cirrus CI - Task and Script Build Status


A release assembler for Erlang.


relx [options] [release-specification-file]


Relx assembles releases for an Erlang/OTP release. Given a release specification and a list of directories in which to search for OTP applications it will generate a release output. That output depends heavily on what plugins available and what options are defined, but usually it is simply a well configured release directory.

The release-specification-file is optional but otherwise contains additional specification information for releases.


To build relx and generate a standalone escript executable:

$ ./rebar3 update
$ ./rebar3 as escript escriptize

This creates the executable _build/escript/bin/relx.

Building on Windows

To build relx on Windows you'll need to have rebar3 installed and the path to the rebar3 binary added to the PATH environment variable. To start the build use the bootstrap batch file:

c:\> bootstrap

This creates the executable relx and the relx.cmd shortcut script. Copy both of these files to a directory and make the directory available to the PATH environment variable.

Config File

By default relx looks for relx.config in the current working directory:

{release, {relname, "vsn"},

{extended_start_script, true}.


Short Long Type Default Description
-r --root string ./ Sets the root of the project
-n --relname string Name for the release that will be generated
-v --relvsn string Version for the release
-u --upfrom string The release to upgrade from. Only valid with relup target
-o --output-dir string ./ The output directory for the release
-l --lib-dir string Additional dirs to search for OTP apps
--system_libs boolean/string true If true include a copy of system libs used to build with, if a path include system libs at that path. If false, do not include system libs
-p --path string Additional dirs to add to Erlang code path
--default-libs boolean true Whether to use the default system added lib dirs (means you must add them all manually)
-V --verbose integer 2 The verbosity level between 0 and 3
-a --override_app string An app name and a directory to override in the form appname:dir
-c --config string ./relx.config Config file path
--overlay_vars string Path to a file of overlay variables
--vm_args string Path to a file to use for vm.args
--sys_config string Path to a file to use for sys.config
-d --dev-mode boolean false Symlink all applications and configuration into the release instead of copying
-i --include-erts boolean/string true If true include a copy of erts used to build with, if a path include erts at that path. If false, do not include erts


relx wiki

You can’t perform that action at this time.