DEV Community

Cover image for Instalando o Elixir e o Erlang com o gerenciador de versões asdf
Oliver
Oliver

Posted on • Edited on

3 1 1 1

Instalando o Elixir e o Erlang com o gerenciador de versões asdf

Esse tutorial usa o gerenciador de versões asdf, mas fique a vontade para utilizar outros se preferir. Infelizmente o asdf não é suportado pelo Windows.
Site oficial do asdf

Asdf

Umas das vantagens de se utilizar um gerenciador de versões como o asdf, é que podemos utilizar e controlar diversas versões de um ou mais runtimes, como o NodeJS, Elixir, Ruby entre outros, usando a mesma cli.

Instalação

Para a instalação em distribuições Linux é necessário possuir o Git. A própria documentação do asdf recomenda a instalação via Git.

Linux

$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
Enter fullscreen mode Exit fullscreen mode

Agora será preciso adicionar a seguinte linha ao seu arquivo ~/.bashrc

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

# Abra um novo terminal e cheque a versão para saber se está instalado
$ asdf --version
v0.10.0-77fd510
Enter fullscreen mode Exit fullscreen mode

Elixir é executado na máquina virtual do Erlang, a BEAM. Então antes, precisamos instalar o Erlang para o Elixir funcionar.

Erlang

Para versões do Ubuntu acima de 20.04 LTS é necessário instalar os seguintes pacotes para que o Erlang funcione:

$ apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libwxgtk-webview3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk
Enter fullscreen mode Exit fullscreen mode

Primeiro precisamos adicionar o plugin do Erlang ao asdf

# O plugin possui todas as versões disponíveis
$ asdf plugin-add erlang

# É possível listar todas as versões
$ asdf list-all erlang

# Instale uma versão do Erlang com o asdf
$ asdf install erlang 25.0.4

# Definimos uma versão global do Erlang
$ asdf global erlang 25.0.4

# Para verificarmos a versão
$ erl
Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Eshell V13.0.4  (abort with ^G)
1>

Enter fullscreen mode Exit fullscreen mode

Elixir

Assim como fizemos anteriormente, adicionaremos o plugin do Elixir

$ asdf plugin-add elixir

# Podemos listar todas as versões do Elixir
$ asdf list-all elixir

# É preciso escolher a versão com o mesmo Erlang/OTP instalado
$ asdf install elixir 1.14.0-rc.1-otp-25

# Definir uma versão global do Elixir através do asdf
$ asdf global elixir 1.14.0-rc.1-otp-25

# Verifique a versão
$ elixir -v
Elixir 1.14.0-rc.1 (185eeec) (compiled with Erlang/OTP 25)
Enter fullscreen mode Exit fullscreen mode

Teste com terminal interativo do Elixir

$ iex
Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]

Interactive Elixir (1.14.0-rc.1) - press Ctrl+C to exit (type h() ENTER for help)

# Teste o Shell Interativo do Elixir
iex(1)> IO.puts("Hello, World!")
Hello, World!
:ok
Enter fullscreen mode Exit fullscreen mode

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay