Scheduled maintenance on Saturday, 27 September 2025, from 07:00 AM to 4:00 PM GMT (09:00 AM to 6:00 PM CEST) - some services may be unavailable -

Skip to content
1-6-setup-erlang-environmnet.md 1.65 KiB
Newer Older
Sebastien Merle's avatar
Sebastien Merle committed
# 1.5. Setup Erlang Environment

First we need to install Erlang. There is multiple way, for development we will
be using *ASDF*, a tool that allows the installation of multiple version of Erlang
at the same time, and switch from one version to the other at will.

Sebastien Merle's avatar
Sebastien Merle committed

## 1.5.1. Setup Erlang using asdf

First, install any missing dependencies:

    sudo apt install curl git autoconf libncurses-dev build-essential m4 libssl-dev 

Download *ASDF* tool to the local account:
Sebastien Merle's avatar
Sebastien Merle committed

    git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2

Make *ASDF* activate on login by adding these lines at the end of the `~/.bashrc` file:
Sebastien Merle's avatar
Sebastien Merle committed

    . $HOME/.asdf/asdf.sh
    . $HOME/.asdf/completions/asdf.bash

Logout and log back in to activate *ASDF*.
*ASDF* supports multiple tools by installing there corresponding plugins.
Install *ASDF* plugin for Erlang:
Sebastien Merle's avatar
Sebastien Merle committed

    asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git

Install a version of Erlang:
Sebastien Merle's avatar
Sebastien Merle committed

    asdf install erlang 24.3.4.2

Activate Erlang locally for TFS controller. This will create a local file
called `.tool-versions` defining which version of the tools to use when
running under the current directory:
Sebastien Merle's avatar
Sebastien Merle committed

    cd tfs-ctrl/
    asdf local erlang 24.3.4.2

Erlang projects uses a build tool called rebar3. It is used to manager project
dependenecies, compile a project and generate project releases.
Install rebar3 localy from source:
Sebastien Merle's avatar
Sebastien Merle committed

    cd ~
    git clone https://github.com/erlang/rebar3.git
    cd rebar3
    asdf local erlang 24.3.4.2
    ./bootstrap
    ./rebar3 local install

Update `~/.bashrc` to use rebar3 by adding this line at the end:

    export PATH=$HOME/.cache/rebar3/bin:$PATH

Logout and log back in.