Back to blog

Conheça o GVM!

2 min de leitura
425 palavras

Quando estamos desenvolvendo projetos com a linguagem Go, muitas vezes nos deparamos com a necessidade de alternar entre diferentes versões do Go — seja para manter compatibilidade com projetos legados, testar novas versões, ou apenas seguir a especificação de uma stack definida por um time.

Assim como temos ferramentas como o nvm para Node.js e o pyenv para Python, o Go também tem sua própria alternativa: o GVM — Go Version Manager.

O que é o GVM?

O GVM é uma ferramenta em linha de comando que permite instalar e gerenciar múltiplas versões do Go no mesmo ambiente. Com ele, é possível alternar facilmente entre versões, instalar builds específicos e isolar ambientes de desenvolvimento.

Por que usar o GVM?

  • ✅ Alternância rápida entre versões do Go
  • ✅ Instalação de versões legadas ou betas
  • ✅ Isolamento de ambientes de desenvolvimento
  • ✅ Controle preciso sobre o ambiente de build

Se você trabalha em múltiplos projetos com requisitos diferentes de versão, o GVM pode te poupar muito tempo e dor de cabeça.


Como instalar o GVM

A instalação do GVM é simples, mas requer alguns pré-requisitos:

1. Instale dependências (exemplo para Ubuntu/Debian)

sudo apt-get update
sudo apt-get install curl git make binutils bison gcc

2. Instale o GVM

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

Depois disso, feche e reabra o terminal, ou carregue o GVM com:

source ~/.gvm/scripts/gvm

Usando o GVM

Instalar uma versão específica do Go

gvm install go1.20

Listar versões disponíveis

gvm listall

Lista versões instaladas

gvm list

Usar uma versão instalada

gvm use go1.20 --default

Com a flag --default, você define essa como a versão padrão para o terminal.


Extras úteis

Você também pode criar ambientes isolados com:

gvm pkgset create meu-projeto
gvm pkgset use meu-projeto

Isso ajuda a separar dependências entre projetos diferentes, algo especialmente útil em times grandes ou CI/CD.


Conclusão

O GVM é uma ferramenta poderosa que simplifica muito a vida de quem precisa trabalhar com múltiplas versões do Go. Se você ainda não utiliza, vale a pena experimentar — principalmente se você alterna entre projetos com requisitos distintos.

Se quiser saber mais ou ver o código-fonte, o projeto está disponível no GitHub:

👉 https://github.com/moovweb/gvm