Como faço para usar a "vendor" com módulos?
Para usar a vendor com módulos:
go mod vendorredefine 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 arquivosgo.mode 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óriovendorda raiz do módulo principal para satisfazer as dependências. Os comandos go neste modo, portanto, ignoram as descrições de dependência emgo.mode 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 "Modules and vendoring" and "Make vendored copy of dependencies" da documentação de dicas.
Last updated