|
| 1 | ++++ |
| 2 | +title = "Como instalar elixir no windows" |
| 3 | +description = "Nesse tutorial ensinaremos como instalar elixir no windows usando wsl e asdf!" |
| 4 | +author = "Rachel Curioso" |
| 5 | +date = "2021-08-08" |
| 6 | +tags = ["elixir", "tutorial"] |
| 7 | +categories = ["elixir", "tutorial", "windows"] |
| 8 | +[[images]] |
| 9 | + src = "img/elixir-windows/cover.jpg" |
| 10 | + alt = "Nuvens em tons de azul, rosa e roxo" |
| 11 | + stretch = "cover" |
| 12 | ++++ |
| 13 | + |
| 14 | +## 1. Instalação do WSL |
| 15 | + |
| 16 | +O primeiro passo é instalar o WSL (windows system for Linux) na sua máquina. |
| 17 | + |
| 18 | +1. Se o seu windows está em português, vai em Windows > recursos do windows. Caso seu windows esteja em inglês, procure por “Windows Features” ao invés de “Recursos do windows”. |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +2. Marcar a opção “Subsistema do Windows para Linux”. Caso seu windows esteja em inglês, a opção se chama “Windows Subsystem for Linux” |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +3. Abrir a Microsoft Store. |
| 27 | + |
| 28 | +4. Procurar a sua distro (distribuição Linux) de preferência. Algumas das distros disponíveis são: |
| 29 | +* Ubuntu |
| 30 | +* OpenSuse |
| 31 | +* Kali Linux |
| 32 | +* Debian |
| 33 | +* Alpine WSL |
| 34 | + |
| 35 | +5. Instale a Distro da sua preferência. Para esse tutorial, usarei a versão mais recente do Ubuntu, que nesse momento é a 20.04. |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +Dando certo, o botão da direita vai virar “iniciar” e você poderá usar o ubuntu no seu windows |
| 40 | +Se você procurar no menu do windows pelo nome da distro que você instalou, já deverá estar disponível pra você. |
| 41 | + |
| 42 | +6. Abra a distro que você instalou. |
| 43 | + |
| 44 | +Na primeira vez que você acessa o seu subsistema linux, aparece uma notificação que ele está instalando e, um pouco depois, ele pede para você cadastrar sua conta no linux, com o nome do seu usuário e senha. |
| 45 | +Esses dados não necessariamente são iguais aos do windows. Você pode colocar o que quiser. |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | +Dando tudo certo, deve aparecer no terminal algo como “seuUsuario@seuComputador:” |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | +7. Faça a atualização do seu ubuntu com o comando `sudo apt update`. |
| 54 | + |
| 55 | +8. Aconselho a instalar também o windows terminal que você encontra na Microsoft Store. Depois de instalar e abrir o windows terminal, se você apertar na seta apontada para baixo, tem a opção de abrir um prompt linux. (É possível ir nas configurações e determinar o ubuntu como seu prompt padrão). |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | +## 2. Instalando o asdf |
| 60 | + |
| 61 | +O asdf é um gerenciador de versões de linguagens de programação. Com ele, conseguimos instalar o suporte a diversas linguagem no nosso computador, bem como gerenciar diferentes versões delas. |
| 62 | + |
| 63 | +O ideal é seguir o tutorial com [o site do próprio asdf](https://asdf-vm.com/#/) aberto ou, se preferir, pode usar [o site traduzido](https://translate.google.com/translate?sl=en&tl=pt&u=https://asdf-vm.com/%23/). Importante apontar que uma expressão ou outra poderá ser traduzida erroneamente. |
| 64 | + |
| 65 | +Pode reparar que no site não tem tutorial para windows, mas como nós usamos WSL, seguiremos o tutorial para linux. |
| 66 | + |
| 67 | +1. Primeiro instalamos as dependências. No site aparecem algumas opções, como Aptitude, DNF, Pacman e Zypper. No ubuntu nós usamos Aptitude, então faremos a instalação com `sudo apt install curl git`. |
| 68 | + |
| 69 | +2. Agora que instalamos as dependências, podemos instalar o asdf. O próprio asdf recomenda usar git, então é o que iremos usar. |
| 70 | + |
| 71 | +3. Nesse próximo passo é importante saber qual o Shell que você tem. Hoje podemos usar o padrão do sistema, que é o bash, ou instalar um novo como o fish ou o zsh. Como o ubuntu é recém instalado, não fiz nenhuma modificação nele, o que significa que ele está com o padrão, que é o bash. |
| 72 | + |
| 73 | +4. Com essas informações em mãos, posso dizer que estou usando bash & git. |
| 74 | + |
| 75 | +5. No print abaixo ele pede para abrirmos o arquivo `~/.bashrc` e adicionarmos alguns comandos. Se você estiver usando o zsh ou o fish, o arquivo e os comandos são outros. |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | +6. Vamos abrir o arquivo solicitado no terminal, usando o vim. Para isso digitamos `vim ~/.bashrc` no terminal. |
| 80 | + |
| 81 | +7. Usando as setas do teclado vamos ao final do documento, apertamos a tecla i para entrar no modo de inserção, e colamos os dois comandos solicitados. |
| 82 | + |
| 83 | +8. Depois disso, precisamos salvar o arquivo. Pressionamos esc > digamos :wq > enter. |
| 84 | + |
| 85 | +9. Para as alterações funcionarem, é preciso reiniciar o shell. Podemos fazer isso fechando e abrindo o terminal. |
| 86 | + |
| 87 | +Para saber se funcionou, digitamos `asdf`. Uma tela similar a esta deve aparecer: |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | +## 3. Instalando o erlang |
| 92 | + |
| 93 | +1. Antes de instalar o plugin do erlang, precisamos instalar as dependências. Conseguimos a lista dessas dependências no repositório do plugin do erlang para asdf - [https://github.com/asdf-vm/asdf-erlang#before-asdf-install](https://github.com/asdf-vm/asdf-erlang#before-asdf-install) |
| 94 | + |
| 95 | +2. Nessa lista devemos procurar nosso sistema operacional e versão. No exemplo estamos usando o ubuntu 20.04, então encontramos [essa lista de dependências](https://github.com/asdf-vm/asdf-erlang#ubuntu-2004-lts). |
| 96 | + |
| 97 | +3. Lembrando que para instalar coisas no linux, precisamos usar `sudo` antes dos comandos de instalação. Então copiarmos o comando acima, porém adicionando um sudo na frente. Então ficaria algo como `sudo apt-get -y install (....)`. |
| 98 | + |
| 99 | +Deixo o alerta que esse é um processo bastante demorado. |
| 100 | +Dá tempo de fazer um café ou um chá. |
| 101 | + |
| 102 | +4. Agora que instalamos as dependências, instalamos o plugin do erlang usando `asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git` (o commando também pode ser encontrado no repositório do asdf-erlang) |
| 103 | + |
| 104 | +5. Agora que temos o plugin propriamente instalado, precisamos instalar uma versão. Vamos usar a ultima. `asdf install erlang latest` - Esse processo também leva um tempo, mas costuma a ser mais rápido do que o passo anterior. Se quisermos instalar outra versão, precisamos repetir apenas esse passo, mas ao invés de digitarmos `asdf install erlang latest`, digitamos `asdf install erlang <versao>` |
| 105 | + |
| 106 | +6. Depois da instalação, precisamos definir qual a versão do erlang nós queremos usar. Esse passo é importante porque comumente temos mais de uma versão instalada. Pra isso digitamos `asdf global erlang latest`. (Caso queremos usar uma versão específica em uma pasta apenas, navegamos para dentro da pasta escolhida e digitamos `asdf local erlang latest`) |
| 107 | + |
| 108 | +7. Uma das formas de ver se funcionou é digitar `asdf list erlang`. Se deu certo, a versão instalada deve aparecer pra você |
| 109 | + |
| 110 | +8. Outra forma de ver se funcionou, digitamos `erl` no terminal e deve aparecer uma tela como essa |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | +(para sair dela, basta apertar ctrl+c duas vezes) |
| 115 | + |
| 116 | +## 4. Instalando elixir |
| 117 | + |
| 118 | +1. Os passos que seguimos no elixir são bem similares aos da instalação do erlang. A diferença é que é muito muito muito mais rápido, e elixir não tem pré-requisitos de instalação no sistema. |
| 119 | + |
| 120 | +2. Vamos instalar o plugin de elixir do asdf com `asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git` e depois, `asdf plugin add elixir`. |
| 121 | + |
| 122 | +3. Vamos instalar a última versão digitando `asdf install elixir latest` |
| 123 | + |
| 124 | +4. Vamos definir a versão que queremos usar de elixir com `asdf global elixir latest` |
| 125 | + |
| 126 | +Para checar se deu certo, podemos usar o `asdf list elixir` |
| 127 | + |
| 128 | +Ou entrar no elixir iterativo usando `iex` (e assim como erlang, para sair dele, apertamos ctrl+c duas vezes. |
| 129 | + |
| 130 | +Podemos também digitar no terminal `elixir -v` para verificar a versão do elixir e do erlang instaladas. |
| 131 | + |
| 132 | +## 5. Opcionalmente instalando o nodejs. |
| 133 | + |
| 134 | +1. NodeJS vai ser necessário caso você resolva trabalhar com phoenix um dia. Você pode pular esse passo, mas é possível que você precise instalar. O processo é igual ao do elixir. |
| 135 | + |
| 136 | +2. Vamos instalar o plugin do nodejs do asdf com `asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git `, e depois com `asdf plugin add nodejs` |
| 137 | + |
| 138 | +3. Vamos instalar a última versão digitando `asdf install nodejs latest` |
| 139 | + |
| 140 | +4. Vamos definir a versão que queremos usar de nodejs com `asdf global nodejs latest` |
| 141 | + |
| 142 | +Para checar se deu certo, podemos usar o `asdf list nodejs` ou com `node -v` |
| 143 | + |
| 144 | +## 6. Uma explicação sobre versões de elixir |
| 145 | + |
| 146 | +Quando instalamos as últimas versões de elixir e erlang, geralmente elas são compativeis entre si, mas na hora que precisamos instalar uma versão mais antiga, precisamos prestar atenção se a versão do elixir é compatível com a versão do erlang que nós instalamos. Como eu faço isso? |
| 147 | +Quando digitamos o comando `asdf list elixir all` vai aparecer uma lista com as diversas versões disponíveis para instalação. |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | +Se você prestar atenção, existem várias versões iguais, porém com um `otp-algo` no final. Se prestarmos atenção na versão 1.12.2 do print acima, por exemplo, vemos que ela existe como `1.12.2, 1.12.2-otp-22, 1.12.2-otp-23 e 1.12.2-otp-24`. Como eu sei qual escolher? |
| 152 | + |
| 153 | +O número que vem depois do “otp” é a versão do erlang que aquela versão do elixir suporta. |
| 154 | + |
| 155 | +Então se você está usando uma versão 22.x.x do erlang, você deve optar pela `1.12.2-otp-22`, por exemplo. |
| 156 | + |
| 157 | +Parabéns, agora você já tem o elixir instalado no seu computador |
| 158 | + |
| 159 | + |
| 160 | + |
| 161 | +*Imagem da capa por [Tadas Sar](https://unsplash.com/@stadsa)* |
0 commit comments