DEV Community

Alexandre Liberato
Alexandre Liberato

Posted on • Edited on

Como Instalar Golang no Linux

Como Instalar Golang no Linux

Meta

Status: Updated
Link: https://dev.to/alexandreliberato/como-instalar-golang-no-linux-3pl9

Intro

Hoje vamos realizar a instalação de uma das linguagens de programação que mais crescem no mercado de desenvolvimento.

  • Remover versões anteriores
  • Download
  • Instalação
  • Configuração
  • Teste

! Caso você já tenha o Go instalado com versão 1.21+ pule para a seção # Instalando uma nova versão

Remover versões anteriores

Primeiro vamos verificar se existe alguma versão instalada no seu sistema:

$ go version

  • Se a resposta for algo como 'go version go1.15.1 linux/amd64' você terá que remover a instalação.
  • Verifique onde está o binário:
# whereis go
Enter fullscreen mode Exit fullscreen mode
  • Remover o diretório:
# sudo rm -rf /opt/go
Enter fullscreen mode Exit fullscreen mode
  • Senão, se a resposta for 'command … not found' não existe nenhuma versão instalada pule para o próximo passo.

Se você realizou a instalação com seu gerenciador de pacotes desinstale usando o comando abaixo, para derivados de Debian como Ubuntu, ou o equivalente da sua distribuição:

# apt remove golang-go

Senão remova os diretórios e configurações realizadas manualmente.

Download

Acesse o website https://golang.org/dl/ e baixe a versão disponível para Linux.

Instalação

Após baixar o pacote mova o mesmo para o diretório '/opt':

# mv golang1.15.tar.gz /opt

Descompacte o arquivo tarball:

$ cd /opt
# tar zxvf golang1.15.tar.gz
Enter fullscreen mode Exit fullscreen mode

Verifique se o tarball foi descompactado $ ls -la:
Alt Text

Remova o tarball com # rm golang1.15.tar.gz

Configuração

Agora teremos que avisar nosso sistema operacional que existe um novo software instalado, assim ele poderá disponibilizar o mesmo em qualquer ponto do sistema para usarmos sem ter que acessar o diretório de instalação :)

Abra seu arquivo ~/.profile e adiciona a seguinte linha ao final do arquivo:

export GOROOT="/opt/go"
export GOPATH="/home/<your-user>/go-projects"
export PATH="$GOROOT:$GOPATH:$PATH"
export PATH="$GOROOT/bin:$GOPATH/bin:$PATH"
Enter fullscreen mode Exit fullscreen mode

Agora basta avisar seus sistema operacional que houve mudanças e pedir para recarregar este mesmo arquivo:

$ source ~/.profile ou $ . ~/.profile

Teste

Para verificar se está tudo correto execute $ go version que deverá retornara versão da instalação:

Alt Text

Crie um arquivo chamado 'hello.go' com o conteudo abaixo por exemplo:

Alt Text

Execute o código com $ go run 'hello.go' e devemos ter a seguinte saída:

Alt Text

Sucesso!

Instalando uma nova versão

A partir da versão 1.21 a distribuição Go é composta por um comando 'go' e um pacote de ferramentas/toolchain Go contendo: biblioteca padrão, compilador, assembler entre outras ferramentas. O comando 'go' pode utilizar tanto sua própria toolchain como outras versões encontradas no PATH ou até baixá-las conforme necessário.

A escolha de qual toolchain será usada é baseado no valor do variável de ambiente GOTOOLCHAIN, assim como das linhas contidas no módulo principal do Go, arquivo go.mod ou o arquivo go.work presente no workspace atual.

! Dicas:
- Quando você muda de módulos e workspaces a versão da toolchain usada pode variar
- Na configuração padrão/default o comando 'go' usa a toolchain que compõe a distribuição desse comando, isso acontece quando a versão da distribuição é tão recente quanto as versões descritas nas linhas 'go' ou 'toolchain' do módulo ou workspace atual
- A troca automática de toolchain pode ser desabilitada

Vamos a prática!

Em um workspace gostariamos de ter nosso código compatível com a versão 1.23 mas gostaríamos de utilizar uma outra versão de distribuição, e seus binários por consequência, porque por exemplo essa distribuição tem uma melhor performance ou funcionalidade ferramental:

module github.com/feilerdev/tttd

go 1.23.5

toolchain go1.24.1
Enter fullscreen mode Exit fullscreen mode

Esta é apenas uma introdução ao tema, para mais acesse: https://go.dev/doc/toolchain

Por hoje é isso pessoal!

Obrigado pela visita, deixe seu like e siga para novos artigos sobre Desenvolvimento de Sistemas.

@feiler no Twitter

Top comments (3)

Collapse
 
alex_rios_199ac07fde613e4 profile image
Alex Rios

Vale a pena adicionar uma menção ao go toolchain, principalmente para as pessoas que já tem o Go 1.21+

Collapse
 
fhek789 profile image
Felipe Kinoshita

Recomendo dar uma olhado no asdf-manager, é um gerenciador de linguagens de programação bem útil, com ele tu pode configurar um projeto pra usar uma versão específica da linguagem e também uma versão global, e deixar o sistema mais organizado na minha opnião :)

Collapse
 
alexandreliberato profile image
Alexandre Liberato

Ótima dica Felipe! É uma ferramenta fantástica sim, mas creio ser muito importante também para quem está começando saber como instalar e organizar suas ferramentas :D