Gvm: Gerenciando versões de GoLang

Se você trabalha com vários projetos Go, já percebeu como é complicado quando os projetos requerem versões diferentes da linguagem.

A fim de resolver esse problema surgiu o projeto chamado GVM (Go Version Manager), onde você pode ter várias versões do Go instalado em sua máquina e quando precisar rodar um projeto em uma versão especifica basta fazer a troca pelo terminal.

Instalação em ambiente Linux

O processo de instalação é bem simples e você pode conferir na documentação oficial.

Resumidamente o comando de instalação é esse:

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

Se você estiver usando zsh apenas mude de bash para zsh.

Após a instalação

No meu caso foi precisa instalar mais um pacote no Ubuntu:

sudo apt-get install bison

Pronto, agora feche seu terminal, abra novamente e execute o seguinte comando para verificar se o GVM foi instalado corretamente:

gvm version

Conhecendo a ferramenta

O primeiro comando e o mais importante é o gvm. Se a sua instalação foi bem sucedida, assim que você digitar esse comando no terminal você irá ver algo parecido com a imagem abaixo:

Dentre essa grande quantidade de comandos disponíveis vou mostrar alguns mais interessantes:

1-
Listar versões disponíveis para instalação:

gvm listall

2- Listar versões instaladas em sua máquina:

gvm list

3- Instalar uma versão:

gvm install NUMERO_VERSAO

Exemplo: gvm install go1.15.8

4- Desinstalar uma versão:

nvm uninstall NUMERO_VERSAO

Exemplo: gvm uninstall go1.15.8

5- Usar uma versão:

gvm use NUMERO_VERSAO

Exemplo: gvm use go1.15.8

6- Definir nome para uma versão:

gvm alias MEU_NOME NUMERO_VERSAO

Exemplo: gvm alias go15 go1.15.8

Com isso você poderá usar uma versão pelo nome definido e não mais pelo número da versão. Exemplo: gvm use go15

7- Definir uma versão padrão para o sistema operacional:

gvm use NUMERO_VERSAO --default

Exemplo: gvm use go1.15.8 --default

Comentários

Postagens mais visitadas deste blog

pgAdmin 4: Configurando um server do Postgres

Oh My Zsh: Melhorando a produtividade do seu terminal

Git: Renomear, desfazer, mesclar, editar ou excluir commits