Um momento
Aula 09
Cursos / Golang: Ambiente e Ferramentas de Desenvolvimento da Linguagem Go
Versões Diferentes de Golang na Mesma Máquina e Preparação para Upgrade

Summary

# Resumo da Aula de Golang

Olá pessoal, estamos de volta com mais uma aula sobre Golang. Nesta aula, discutiremos as diferentes versões do Golang e como elas podem afetar seus programas.

## Problemas com Atualizações de Versão

Quando você atualiza a versão do Golang instalada no seu sistema, pode ocorrer de seu programa começar a falhar devido a mudanças na nova versão. Isso, no entanto, não ocorre com Golang, pois:

- Os executáveis do Golang já incluem o *runtime* e bibliotecas essenciais, o que significa que não dependem de versões externas do SDK. 
- Isso permite que diferentes programas rodem versões distintas do Golang simultaneamente sem interferência.

Por exemplo, você pode ter:

- Uma API rodando na versão 1.36.5
- Um outro serviço na versão 1.17.3

## Instalando Múltiplas Versões do Golang

Para verificar se seu programa funcionará na versão mais nova do Golang:

1. Verifique a versão instalada (`1.16.5`).
2. Instale a nova versão (`1.17.3`), que não sobrescreve a versão anterior, apenas a adiciona:
   ```bash
   go install golang.org/dl/go1.17.3@latest
  1. A nova versão será instalada em um diretório específico, acessível via comando:
    go1.17.3 download
    
  2. Para rodar um programa com a nova versão, apenas utilize seu executável:
    go1.17.3 build
    
  3. Execute e teste seu programa para verificar se não houve quebras.

Substituindo a Versão Padrão

Se você decidir substituir a versão padrão:

  • Você pode excluir a versão antiga na sua pasta pessoal e instalar a nova versão, utilizando os métodos apropriados para seu sistema operacional (Windows, Mac ou Linux).

Considerações Finais

  • Ferramentas e comandos de desenvolvimento mudam frequentemente, portanto, esteja atento a alterações nos comandos do Golang.
  • Sempre teste seus programas antes de fazer atualizações definitivas.

É isso por hoje! Até a próxima!

Video Transcript

Olá pessoal, estamos de volta com mais uma alva de Golang. Nesta aula eu gostaria de falar sobre versões diferentes de Golang. Imagina o seguinte, em geral, se você tivesse um programa rodando na sua máquina e uma certa versão do seu linguagem de programação. O SDK software development kit. E aí você quisesse instalar a versão mais nova que acabou de sair e tal fazer um upgrade. Você faz o upgrade e o negócio programa começa a falhar. Porque na nova versão teve uma mudança que quebrou seu programa. E aí isso acontece em Gol. Então isso não é acontecer em Gol. Por que? Vamos falar disso. Então os programas executáveis de Gol tudo já é embutido. Nesse caso o runtime da linguagem, runtime do Gol, as funções básicas, biblioteca, plaidrão, etc. E aí embutido não é executável. Isso significa que não precisa ter as bibliotecas separadas no computador para poder rodar o seu programa. Isso tudo já é incluído no executável. É claro que se tiver isso, claro que o arquivo tamanho vai ser maior. Mas o benefício é que não vai quebrar se o SDK que está instalado no seu computador for de versão diferente. Então com isso nós podemos ter programas diferentes rodando versões diferentes de Gol ao mesmo tempo. Por exemplo, esse exemplo, eu tenho esse só simplificado. Tem um certo serviço, um API rodando, API.Gol na versão Gol 1.36.5. E ao mesmo tempo na mesma máquina eu tenho o outro serviço aqui. Rodando no Gol versão 1.17.3. Então cada um desses executáveis, o executável da API vai ter a sua própria versão Gol rodando lá 1.16.5. E o serviço vai ter os arquivos da versão Gol compilado na 1.17.3. E eles não vão interferir entre si. Então agora eu quero falar de mais uma prática de como você pode faixar uma versão de Gol mais nova e ver se não tem nenhum problema ao compilar o seu programa na versão mais nova. Então eu vou aqui no meu terminal, eu tenho aqui a versão, eu tenho a versão instalada de Gol 1.16.5 usando o Ubuntu Linux. E eu quero já rodar na versão, quero ver se o meu programa vai funcionar e não vai quebrar na versão mais nova de Gol. Vamos fazer isso. A gente deixa eu te mostrar aqui no navegador que a versão mais nova quando eu gravei esse vídeo é 1.17.3. Então já tem a versão mais nova. Então eu pego esse número aqui da parte do Gol1.org-delle. Eu vou pegar o número da versão mais nova e vou instalar essa versão mais nova aqui. Eu vou falar Gol Install. Um detalhe aqui, essa versão mais nova não vai sobre escrever o apagar a versão que já tem, vai ser uma versão adicional. Então a gente vai ter múltiplas versões na mesma marca. Vou falar Gol Espaço de Install, Espaço. Aí eu vou dizer Gol1.org-delle-gol e o número da versão. 1.17.3 como foi especificado lá no site, vou falar Arroba, Lei, Test. E ele vai baixar um arquivo. Esse arquivo vai estar no seu GolPath-bin que é o Golbin. Está aqui Gol1.17.3 e eu posso executá-lo como já está no meu path. Eu posso falar Gol1.17.3, passo, o argumento vai ser download. Ele vai baixar. Vai extrair para, no meu caso, ele instalou essa nova versão na minha pasta pessoal, Barra Home, Barra NVK, Instructor, Barra SDK, Barra Gol1.17.3. E você dá o... Agora como você pode dizer Gol1.17.3 e ele vai achar? Vou falar isso, ele vai achar e vai ter a versão aqui. Então é assim como você usa a versão diferente da que já estava instalada. Você só dizer Gol seguido do número da versão. Gol1.17.3. Para eu ver, eu já sei que está instalada, acabamos de ver que está instalada na pasta SDK, na minha pasta pessoal. Eu posso dizer se eu não souber mais, esquecer, Gol1.17.3, passo, and, espaço, Gol, root, tudo em letras maiúsculos. Ele te mostra onde está instalada essa versão nova. Aí você pode fazer o seguinte, antes disso eu vou te mostrar Gol and Gol Roots para a minha versão que já tinha. Ele está em barra USR e barra local para Gol. Para vamos continuar. Então, eu tenho a versão mais nova instalada, a versão adicional, não vai afetar a minha versão que eu já tinha. E eu vou compilar o meu programa usando essa nova versão e vou rodar o programa e ver se não quebrou nada. Teoreticamente, sem eu fazer... Eu não tenho esse arquivo API nesse serviço aqui, do exemplo. Seria assim, eu faria Gol1.17.3 e faria toda a build e tal, e tal, e tal, e tal. Eu estou simplificando só para um arquivo, mas seria vários. Tudo que eu queria mudar, tudo que você faz normalmente com o seu projeto, é só mudar de Gol para Gol1.17.3, no meu caso, Gol seguido do número da versão. É só mudar que ele vai usar essa versão mais nova. E você faz sua build e tal, e tal, e tal, e tal. Depois disso, você roda o programa e vê se não quebrou nada. E quebrou e você vai ter que ajustar as coisas. Mas se não quebrou, você está preparado para usar essa nova build com a nova versão e você pode já começar a usar. Agora, depois disso, se você quiser substituir a versão padrão que está instalada no seu sistema, aí é outra coisa, você pode primeiro deletar essa versão que você acabou de instalar. É só deletar a parte da home, da sua parte pessoal, a barra SDK, a barra do número da versão, a sua barra R&M, no caso do Linux, passa o R&F e você copia essa pasta. Ou no seu caso, você pode botar o dólar com Gol1.17.3 e GolRoot. Ele pode rodar o comando e te dar esse path, e esse path se substituiu daqui e ele remove. Os doares de Windows vão usar o Dell. Então, depois disso, você é só ir instalar da mesma maneira que você fez na primeira vez que instalou. No caso do Windows, vai no site, faça o MSI, instala por cima do que já tinha, ele vai remover a versão anterior e vai instalar a nova. Se você confirmou que não quebrou nada com a nova versão, depois de fazer aquele negócio que ele lance do install e do download. No caso do Mac, pode usar o PKG ou atualiza no brew. No caso do Linux, baixe de novo o TGZ e substitui o SR local, se você usar lá. Ou atualiza no seu generador de pacotes no botu apt, mas normalmente é muito, versão muito antiga, então, acho que você nem vai usar. Então, por isso é só, tá bom pessoal? É isso mesmo. Da tarde de novo que eu usei a versão 11.5, para essa demonstração. As ferramentas, os comandos de desenvolvimento sempre ficam mudando. Talvez até se você tinha usado a versão anterior, talvez seria outro comando diferente, o GoGate ou alguma coisa assim. Então, o negócio fica mudando direto, então, fique esperto no lance dos comandos de Go, que às vezes eles mudam mesmo os comandos, o comportamento dos comandos. Tá bom? Por essa aula é só e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: