Aula 09
Como Manter uma Cópia de suas Dependências de Golang no seu Repositório (Vendoring)
Summary
# Aula de Golang: Vendoring
## O que é Vendoring?
Vendoring é o processo de manter uma cópia das dependências do seu projeto dentro do repositório. Isso é útil para garantir que as versões exatas das dependências estão disponíveis, especialmente em equipes ou organizações que preferem ter controle total sobre o que está incluído no código.
### Exemplo Prático
- Imagine que você tenha um módulo chamado **Currency** que depende de outras bibliotecas, como Mux.
- Para realizar o vendoring, você cria uma pasta chamada **Vendor** na raiz do seu projeto.
## Como Fazer?
1. Acesse o terminal na pasta raiz do seu projeto.
2. Execute o comando:
go mod vendor
3. Isso criará a pasta **Vendor** com cópias de todas as dependências do seu projeto.
### Resultados Esperados
- Uma pasta **Vendor** será criada contendo cópias de cada dependência.
- Um arquivo **mod.txt** também será gerado, contendo informações sobre as dependências.
### Vantagens e Desvantagens
- **Vantagens:** Você tem controle sobre as versões das dependências que seu projeto utiliza.
- **Desvantagens:** A inclusão das dependências pode ocupar espaço no repositório.
### Removendo o Vendoring
Se você deseja remover o vendoring, basta deletar a pasta **Vendor**.
É isso! Vendoring é simples e ajuda a gerenciar dependências de forma eficiente. Até a próxima aula!
Video Transcript
Olá pessoal, estamos de volta com mais uma aula de Golang.
Nesta aula vou falar de Vendoring.
O que é Vendoring?
Vendoring é quando você tem as dependências do projeto e você mantém uma cópia dessas dependências no seu repositório.
Por exemplo, eu tenho aqui um certo módulo que eu criei e ele depende de duas dependências.
Nesse módulo chamado Currency, em linha 7, no Mux.
Então, Vendoring é quando a gente pega e tem uma cópia de cada dependência e você faz um comete dessa cópia no seu próprio repositório para ter cópia lá.
Cetas companheias e organizações gostam de ter isso, essa funcionalidade.
Então, vou te ensinar como fazer, bem simples.
Você vai lá no terminal, na pasta-raís do seu projeto e você digita GolModVendor.
GolModVendorVNDoA
O que acontece é que eu criei uma pasta chamada Vendor na raiz do projeto e dentro da pasta tem uma cópia de cada dependência, de cada módulo do seu projeto.
Nesse caso, getfail.com.br, BNK, Malest e Gorilastam aqui.
Você pode ver que a gente tem uma cópia de cada dependência no seu repositório e você pode incluir com a pasta-vendor, como parte do seu repositório, e fazer o comete dela.
A vantagem é que você sempre vai saber exatamente o que vai ser incluído no projeto.
A desvantagem é ter que incluir isso e vai ocupar espaço no repositório.
Tá certo pessoal?
Se você quiser remover Vendor, é só deletar a pasta.
Então é só isso, bem simples.
GolModVendor e uma cópia de cada dependência será criada dentro da pasta Vendor.
Ele criou esse arquivo mod.txt também, com as coisas aqui sobre as dependências.
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: