# 1.1 Instalação ## Os 3 modos de instalar Go Existem muitas maneiras de configurar o ambiente de desenvolvimento em seu computador, você pode escolher o modo que preferir. Seguem abaixo os três modos mais comuns de instalar a linguagem: - Pacotes de instalação oficiais. - O time por trás do Go, proporciona um modo muito conveniente de instalação para Windows, Linux, Mac e outros sistemas operacionais. Esse é o método mais simples para iniciar. - Instalação através do código fonte. - Bem popular entre desenvolvedores familiares com sistemas UNIX-like - Por terceiros(Pacotes não oficiais). - Existem muitos pacotes de terceiros, costumam vir em gerenciadores de pacotes como apt-get no Ubuntu ou homebrew no Mac. Caso você queira ter mais de uma versão de Go no seu computador, existe a opção de instalar através do Go Version Manager(GVM). É a melhor ferramenta que tenho visto por cumprir bem as tarefas, entretanto você deverá escolher o modo que ira ser melhor. [GVM](https://github.com/moovweb/gvm) ## Instalando pelo Código Fonte Algumas partes de Go foram escritas em Plan 9 C e AT&T assembler, você precisará instalar um compilador de C antes de realizar os passos a seguir. No MAC, você precisará do Xcode, que já vem com o compilador incluso. Em sistemas UNIX-Linux, você deverá instalar o GCC ou algum compilador semelhante. Por exemplo: via apt-get(Ubuntu/Debian) podemos instalar com a seguinte linha no terminal: `sudo apt-get install gcc libc6-dev` Caso seja Fedora, OpenSuse ou outras distribuições, consulte a documentação oficial. Para o Windows, será necessário ter o MinGW(Consulte a arquitetura do seu Windows antes de instalar) para instalar o GCC. Não se esqueça de configurar as variaveis do sistemas após a instalação ser concluída. Para finalmente realizar a instalação através do código fonte, necessitamos realizar o Download e configuração do Git, copiar o repositório e instalar. git clone https://go.googlesource.com/go cd go/src ./all.bash Uma instalação de sucesso retornará a mensagem: "ALL TESTS PASSED." (Todos os testes passaram) No Windows você pode executar o arquivo `all.bat`. Caso esteja utilizando Windows, a instalação do pacote ira configurar automaticamente todas as variaveis do sistema. Em sistema UNIX-Linux, você precisa configura-las manualmente no final do arquivo `.bash_profile` export GOROOT=$HOME/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOROOT/bin Se você ver a mensagem a seguir, quer dizer que está tudo pronto! ![](images/1.1.mac.png?raw=true) Figura 1.1 Informação após instalação via código fonte Caso a instalação tenha sido realizada com sucesso e a mensagem "no such command"(Comando inexistente) permaneça. Verifique se as variaveis do sistema foram configuradas corretamente. ## Pacotes de instalação padrão Go tem uma instalação simples para todos os sistemas operacionais. Esses pacotes são instalados em: `/usr/local/go` (UNIX-like) e `c:\Go` (Windows) por padrão. Claro que podem ser modificados, mas caso a instalação seja em outro local teremos que reconfigurar as variaveis do sistema, como citado acima. ### Como checar se meu sistema operacional é 32-bit ou 64-bit? O próxima passo depende do tipo de sistema operacional que você está utilizando. Então temos que checar antes de realizar a instalação dos pacotes. Se estiver utilizando Windows, pressione `Win+R` e digite: cmd para abrir o prompt de comando. Execute o comando `systeminfo` e procure a linha referente a "system type" -se você ver "x64-based PC", quer dizer que seu sistema é 64-bit. Caso seja "x32-based PC" é 32-bit". É recomendavel utilizar versões 64-bit. Se estiver no MAC, Go não suporta mais versão 32-bit do OSX. No Linux abra um terminal e digite: `uname -a` Um sistema 64-bit exibirá a mensagem a seguir: x86_64 x86_64 x86_64 GNU/Linux // Algumas distribuições exibirão a mensagem a seguir x86_64 GNU/Linux Sistemas 32-bit irão mostrar: i686 i686 i386 GNU/Linux ### Mac Vá para a [página de download](https://golang.org/dl/), escolha `go1.4.2.darwin-386.pkg` para sistemas 32-bit ou `go1.4.2.darwin-amd64.pkg` para sistemas 64-bit. Execute o instalador, e o próprio sistema se encarregará de criar as variaveis do sistema. Digite `go` no terminal e a saida será a mesma da figura 1.1. ### Linux Vá para a [página de download](https://golang.org/dl/), escolha `go1.4.2.linux-386.tar.gz` para sistemas 32-bit ou `go1.4.2.linux-amd64.tar.gz` para sistemas 64-bit. Caso a instalação seja padrão, descompacte o arquivo `.tar.gz` em "/usr/local", configure o arquivo .bash_profile como apresentado anteriormente, abra um terminal digite `go` no terminal e a saida será a mesma da figura 1.1. ### Windows Vá para a [página de download](https://golang.org/dl/), escolha `go1.4.2.windows-386.msi` para sistemas 32-bit ou `go1.4.2.windows-amd64.msi` para sistemas 64-bit. Execute o instalador, ele irá instalar na masta `c:\go`, as variaveis do sistema serão configuradas automaticamente. Abra um prompt de comando e digite: `go`, a saida será a mesma da figura 1.1. ## Pacotes de terceiros ### GVM (Go Version Manager) GVM é um gerenciador de versões para Go, assim como o RVM para Ruby. É muito simples utilizar esse método. Para instalar o GVM execute o comando abaixo no terminal: bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer) Quando o GVM estiver instalado, instale a versão do Go desejada e configure-a para se tornar a padrão. O GVM se encarrega automaticamente de escolher a melhor arquitetura do sistema operacional para você. gvm install go1.4.2 gvm use go1.4.2 Após finalizar os processos, você já poderá utilizar o Go. ### apt-get Ubuntu é a distribuição Linux mais popular para Desktop doméstico. Ele usa o `apt-get` como gerenciador de pacotes. Podemos instalar utilizando os seguintes comando abaixo no terminal: sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-stable ### Homebrew Homebrew é o gerenciador de pacotes para MAC, para instalar o Go rode o comando abaixo no terminal: brew install go ## Links - [Sumário](preface.md) - Sessão anterior: [Configuração do ambiente de desenvolvimento](01.0.md) - Próxima sessão: [$GOPATH e Workspace](01.2.md)