<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oliver</title>
    <description>The latest articles on DEV Community by Oliver (@codeoj).</description>
    <link>https://dev.to/codeoj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F909865%2F7bb3c148-d401-4c13-a304-9d8f98700b03.png</url>
      <title>DEV Community: Oliver</title>
      <link>https://dev.to/codeoj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codeoj"/>
    <language>en</language>
    <item>
      <title>Instalando o Elixir e o Erlang com o gerenciador de versões asdf</title>
      <dc:creator>Oliver</dc:creator>
      <pubDate>Wed, 24 Aug 2022 19:58:51 +0000</pubDate>
      <link>https://dev.to/codeoj/instalando-o-elixir-e-erlang-com-o-gerenciador-de-versoes-asdf-m88</link>
      <guid>https://dev.to/codeoj/instalando-o-elixir-e-erlang-com-o-gerenciador-de-versoes-asdf-m88</guid>
      <description>&lt;p&gt;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.&lt;br&gt;
&lt;a href="https://asdf-vm.com/"&gt;Site oficial do asdf&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Asdf
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;p&gt;Para a instalação em distribuições Linux é necessário possuir o Git. A própria &lt;a href="https://asdf-vm.com/pt-br/guide/getting-started.html#_2-instalando-o-asdf"&gt;documentação do asdf&lt;/a&gt; recomenda a instalação via Git.&lt;/p&gt;
&lt;h2&gt;
  
  
  Linux
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Agora será preciso adicionar a seguinte linha ao seu arquivo &lt;code&gt;~/.bashrc&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;. $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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Elixir é executado na máquina virtual do Erlang, a BEAM. Então antes, precisamos instalar o Erlang para o Elixir funcionar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Erlang
&lt;/h2&gt;

&lt;p&gt;Para versões do Ubuntu acima de &lt;code&gt;20.04 LTS&lt;/code&gt; é necessário instalar os seguintes pacotes para que o Erlang funcione:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ 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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Primeiro precisamos adicionar o plugin do Erlang ao asdf&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# 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&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Elixir
&lt;/h2&gt;

&lt;p&gt;Assim como fizemos anteriormente, adicionaremos o plugin do Elixir&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ 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)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Teste com terminal interativo do Elixir&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ 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)&amp;gt; IO.puts("Hello, World!")
Hello, World!
:ok
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>elixir</category>
      <category>erlang</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
