[PT-BR] Instalando Elixir com ASDF
Tags: elixir, myelixirstatus, beginners, erlang
Published: 2020-02-10 02:09:26

---
title: [PT-BR] Instalando Elixir com ASDF
published: true
description: Se você quer desenvolver em Elixir e precisa instalar a linguagem, este artigo é para você.
tags: elixir, myelixirstatus, beginners, erlang
---

Estou me aventurando no [Elixir](https://elixir-lang.org/), mas antes de começar a fazer algo precisei instalar Elixir, como utilizo o [asdf](https://asdf-vm.com/) para gerenciar versões de linguagem, escrevi como eu fiz no meu computador.

Se você quiser saber mais sobre o asdf, eu falei sobre ele no meu primeiro post.

[Configurando Ruby e Node.js com ASDF](http://localhost:4000/2019/03/configurando-ruby-e-node-com-asdf.html)

Pra quem não sabe o [Elixir](https://elixir-lang.org/) é uma linguagem de programação open-source criada pelo [José Valim](https://twitter.com/josevalim) na Plataformatec (empresa que foi comprada pelo [Nubank](https://nubank.com.br/)).

Elixir é uma linguagem moderna, dinâmica e funcional. Utiliza VM Erlang, conhecida por executar sistemas de baixa latência, concorrência, tolerância a falha, distrubuição e escalabilidade ([Mais informaçoes](https://elixir-lang.org/)).

Vamos lá.

Para começar precisamos de instalar o asdf, é algo bem fácil, é só seguir o tutorial da página do projeto.

[Tutorial para instalar o asdf](https://asdf-vm.com/#/core-manage-asdf-vm?id=install-asdf-vm)

Com o asdf instalado e configurado, precisamos de instalar algumas dependências do Erlang.

```
# OSX
$ brew install autoconf

---

# Ubuntu / Debian
$ sudo apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop

```

Em outros sistemas operacionais eu não sei instalar com o asdf, porem é possível instalar Elixir de alguma forma, seja por docker ou algum executável.

[Outras opções e outros SO](https://elixir-lang.org/install.html).

Agora estamos preparados para instalar o Erlang.

```
# Adiciona o plugin de Erlang aonde tem todas as versões disponíveis.
$ asdf plugin-add erlang

# Mostra todas as versões disponíveis de Erlang.
$ asdf list-all erlang

# Instala o Erlang.
$ asdf install erlang 22.2.2

# Definimos a versão padrão do Erlang no SO.
$ asdf global erlang 22.2.2

# Pode demorar um pouco, pois vai compilar o Erlang.
```

Antes de prosseguirmos com a instalação do Elixir, é importante entender como as versões dos dois funcionam juntas ou não.

A versão do Erlang é frequentemente chamada de versão OTP. A versão do Elixir usada deve ser compilada especificamente para a versão do Erlang em uso.

Caso você utilize uma versão do Elixir compilada com uma versão diferente da versão (OTP) do Erlang, você pode ter problemas.

A versão que instalamos é a 22, caso você quer verificar a versão pelo console é bem simples.

![command erl return](https://dev-to-uploads.s3.amazonaws.com/i/v8awuc76s19rgqq34bm7.png)

Agora que confirmamos que é o OTP-22 vamos instalar o Elixir.

```
# Adiciona o plugin de Elixir aonde tem todas as versões disponíveis.
$ asdf plugin-add elixir

# Mostra todas as versões disponíveis de Elixir.
$ asdf list-all elixir

# Instala o Elixir.
$ asdf install elixir 1.9.4-otp-22

# Definimos a versão padrão do Elixir no SO.
$ asdf global elixir 1.9.4-otp-22

```

Bom agora vamos executar o comando `elixir -v` e confirmar as versões de ambos.

![command elixir -v return](https://dev-to-uploads.s3.amazonaws.com/i/2kgbq35g26oiouwgdasn.png)

Após confirmar as versões é só executar o comando `iex` e ver se está tudo ok.

![command iex return](https://dev-to-uploads.s3.amazonaws.com/i/zyc2eop5yw7becigdevm.png)

### Conclusão

Tem [outras formas](https://elixir-lang.org/install.html) de instalar o Elixir, porem gosto de deixar tudo que for possível concentrado no asdf como ruby, node, elixir, erlang, python, entre outras.

Ouço falar do [Elixir](https://elixir-lang.org/) desde quando surgiu e fiz pequenas coisas para brincar, porem nunca me aventurei de verdade e o que mais me motivou além do tanto de oportunidades de trabalho que vem surgindo no Brasil e no mundo, é a comunidade do Brasil e do mundo, todos são muito receptivos e adeptos a diversidade, o que no meu ponto de vista é tudo que precisa para fomentar e fazer a linguagem crescer cada vez mais.

---

Fontes:

- [Documentação oficial](https://elixir-lang.org/install.html)
- [Elixir Casts - Installing Elixir with asdf](https://elixircasts.io/installing-elixir-with-asdf)
- [Thinking Elixir - Install Elixir using asdf](https://thinkingelixir.com/install-elixir-using-asdf/#Install_Erlang)

Agradecimentos:

Muito obrigado [Adolfo Neto](https://twitter.com/adolfont), por me dar esse feedback importante sobre o OTP do Erlang e me passar o site [Thinking Elixir](https://thinkingelixir.com/), com certeza vou acompanhar.