Go Modules
  • Boas-vindas
  • Básico
    • O que é um módulo?
    • Rotina usando módulos
      • Criando um novo módulo
      • Adicionando uma dependência
      • Atualizando dependências
      • Adicionando uma dependência em uma nova versão principal (major)
    • Comandos comuns
  • Novos conceitos
    • Módulos
    • go.mod
    • Seleção de versão
  • Avançado
    • Go Module Proxy
    • go.sum
    • Checksum Database
  • Tutoriais
    • Como usar libs privadas?
    • Como usar libs privadas no Github Actions?
  • FAQ
    • Devo fazer commit do arquivo 'go.sum'?
    • Quando usar replace?
    • Posso trabalhar totalmente sem um versionador de código em meu sistema de arquivos local?
    • Como faço para usar a "vendor" com módulos?
    • Que ferramentas posso usar para trabalhar com módulos?
    • Devo adicionar um arquivo 'go.mod' mesmo que eu não tenha nenhuma dependência?
  • Releases
    • 1.13
    • 1.14
    • 1.15
Powered by GitBook
On this page
  1. FAQ

Como faço para usar a "vendor" com módulos?

PreviousPosso trabalhar totalmente sem um versionador de código em meu sistema de arquivos local?NextQue ferramentas posso usar para trabalhar com módulos?

Last updated 4 years ago

Para usar a vendor com módulos:

  • go mod vendor redefine o diretório do vendor do módulo principal para incluir todos os pacotes necessários para construir e testar todos os pacotes do módulo com base no estado dos arquivos go.mod e do código-fonte .go.

  • Por padrão, os comandos go, como go build, ignoram o diretório vendor.

  • Usando a flag -mod=vendor (por exemplo, go build -mod=vendor) instrui os comandos go a usar o diretório vendor da raiz do módulo principal para satisfazer as dependências. Os comandos go neste modo, portanto, ignoram as descrições de dependência em go.mod e presumem que o diretório do fornecedor contém as cópias corretas das dependências. Observe que apenas o diretório vendor na raiz do módulo principal é usado; diretórios vendor em outros locais ainda são ignorados.

  • Algumas pessoas vão querer optar pelo vendor, para isso deve se definir uma variável de ambiente GOFLAGS=-mod=vendor.

Se você está pensando em usar vendor, vale a pena ler as seções and da documentação de dicas.

"Modules and vendoring"
"Make vendored copy of dependencies"