Comandos comuns
Gerenciamento de Dependências
Comandos Básicos
go mod init <module-path>— Inicializa um novo módulo no diretório atualgo mod tidy— Adiciona dependências faltantes e remove dependências não utilizadas dogo.modego.sumgo get <module>@<version>— Adiciona, atualiza ou remove uma dependênciago get foo@v1.2.3— Versão específicago get foo@latest— Última versão estávelgo get foo@none— Remove a dependência (Go 1.17+)go get -u foo— Atualiza para a versão minor ou patch mais recentego get -u ./...— Atualiza todas as dependências diretas e indiretas
Visualização e Inspeção
go list -m all— Lista todos os módulos que são dependências do projeto atualgo list -u -m all— Ver as atualizações minor e patch disponíveis para todas as dependências diretas ou indiretasgo list -m -versions <module>— Lista todas as versões disponíveis de um módulogo list -m -json all— Exporta informações de módulos em formato JSON (Go 1.25+)go mod graph— Imprime o gráfico de dependências do módulogo mod why -m <module>— Explica por que um módulo é necessário
Verificação e Download
go mod verify— Verifica as dependências não foram modificadas desde o downloadgo mod download— Baixa módulos para o cache local sem adicioná-los aogo.modgo mod download -json <module>— Baixa e retorna informações em JSON
Workspace Mode (Go 1.18+)
go work init <módulos...>— Inicializa um novo workspace com múltiplos módulosgo work use <diretório>— Adiciona um módulo ao workspacego work use -r .— Adiciona recursivamente todos os módulos encontrados no diretório atualgo work edit— Edita o arquivo go.workgo work sync— Sincroniza as dependências do workspace com os módulosgo work vendor— Cria o diretório vendor a partir do workspace (Go 1.22+)
Build e Teste
go build ./...— Build de todos os pacotes no módulo (a partir do diretório raiz)go test ./...— Executa testes de todos os pacotes no módulogo build -o <output> <pacote>— Build com nome de saída específicogo install <pacote>@<versão>— Instala um programa em$GOPATH/bin(Go 1.16+)
Vendoring
go mod vendor— Cria o diretóriovendorcom as dependênciasgo build -mod=vendor— Força o build a usar o diretório vendorgo mod vendor -e— Continua mesmo se houver erros
Limpeza e Manutenção
go clean -modcache— Limpa o cache de módulos ($GOPATH/pkg/mod)go mod edit -require=<module>@<versão>— Edita ogo.modsem baixar o módulogo mod edit -replace=<old>=<new>— Adiciona uma diretiva replacego mod edit -dropreplace=<old>— Remove uma diretiva replacego mod edit -exclude=<module>@<versão>— Exclui uma versão específica de um módulogo mod edit -retract=<versão>— Retrai uma versão publicada (Go 1.16+)
Documentação
go doc <pacote>— Mostra a documentação de um pacotego doc <pacote>.<symbol>— Mostra documentação de um símbolo específicogo doc -http :8080— Inicia um servidor de documentação local (Go 1.25+)
Padrões de pacotes úteis
./...— Todos os pacotes no módulo atual e subdiretóriosall— Todos os pacotes em todos os módulos da build list (Go 1.16+: mudou comportamento)work— Todos os pacotes nos módulos do workspace (Go 1.25+)std— Todos os pacotes da biblioteca padrão
Variáveis de ambiente importantes
GOPROXY— URL do proxy de módulos (padrão:https://proxy.golang.org,direct)GOPRIVATE— Padrão de módulos privados (não usar proxy nem checksum database)GOSUMDB— Servidor do checksum database (padrão:sum.golang.org)GOMODCACHE— Localização do cache de módulos (padrão:$GOPATH/pkg/mod)GOVCS— Controla quais sistemas de controle de versão o Go pode usar (Go 1.16+)GOAUTH— Configuração de autenticação para módulos privados (Go 1.24+)GOTOOLCHAIN— Controla seleção automática de toolchain (Go 1.21+)
Flags úteis
-mod=readonly— Não permite modificações nogo.mod-mod=vendor— Usa o diretório vendor ao invés de baixar dependências-mod=mod— Permite modificações nogo.mod(comportamento padrão pré-1.16)-json— Saída em formato JSON (disponível em vários comandos desde Go 1.24+)-modcacherw— Deixa arquivos do cache de módulos com permissão de escrita-modfile=<arquivo>— Usa um arquivo go.mod alternativo
Exemplos práticos
Adicionar uma dependência
Atualizar todas as dependências
Trabalhar com múltiplos módulos localmente
Usar um fork ou versão local de uma dependência
Verificar integridade das dependências
Recursos adicionais
Last updated