Install Erlang on Ubuntu 22.04
Here's how to install Erlang on Ubuntu 22.04. Maybe works for versions before/after; I have not tested.
Erlang Version Manager
First, pick a source for erlang. I recommend you use asdf, the best version manager around.
Install asdf Plugins
asdf plugin add erlang
asdf plugin add elixir
Potentially Optional: Erlang Prereqs
If I try to install erlang directly with asdf
, I first get this error:
Error
asdf_22.1.7 is not a kerl-managed Erlang/OTP installation
My next attempt worked much better, as suggested on the asdf-erlang Github thread, install a bunch of supporting libs:
sudo apt install clang-format clang-tidy clang-tools clang clangd libc++-dev libc++1 libc++abi-dev libc++abi1 libclang-dev libclang1 liblldb-dev libllvm-ocaml-dev libomp-dev libomp5 lld lldb llvm-dev llvm-runtime llvm python3-clang automake autoconf libncurses5-dev
The second prereq problem might be this error that I've gotten after installation and on my first run of mix
:
** (Mix) The application "crypto" could not be found. This may happen if your Operating System broke Erlang into multiple packages and may be fixed by installing the missing "erlang-dev" and "erlang-crypto" packages
This can be solved by uninstalling erlang and elixir, then installing Open SSL:
asdf uninstall erlang 26.2.1
asdf uninstall elixir 1.16.1
sudo apt install libssl-dev
Or making openssl from source.
Use Asdf to Install
Get the latest erlang and elixir stable versions:
asdf list all erlang
asdf list all elixir
Then install the libraries. As of now, those are:
asdf install erlang 26.2.1
asdf install elixir 1.16.1
Then change into the directory of your project, and set the version:
asdf local erlang 26.2.1
asdf local elixir 1.16.1
Or set it globally:
asdf global erlang 26.2.1
asdf global elixir 1.16.1
You're ready to rumble:
mix
mix run
mix test