Module Retraction
Como retrair versões problemáticas de módulos usando a diretiva retract (Go 1.16+)
O que é Module Retraction?
Quando Usar Retraction?
Sintaxe da diretiva 'retract'
Retrair uma única versão
module github.com/usuario/biblioteca
go 1.25
// Retrair uma versão específica
retract v1.2.0 // Bug crítico no sistema de autenticaçãoRetrair um intervalo de versões
Múltiplas retrações
Como funciona?
1. Autor retrai a versão
2. Usuários são alertados
3. Comandos go evitam versões retraídas
Exemplos práticos
Exemplo 1: Versão publicada acidentalmente
Exemplo 2: Bug crítico de segurança
Exemplo 3: Incompatibilidade de plataforma
Exemplo 4: Retrair a própria versão de retração
Visualizando retrações
Listar versões com retrações
Ver motivo da retração
Verificar dependências retraídas
Comportamento dos comandos
Comando
Comportamento com Versões Retraídas
Diferença: retraction vs deprecation
Aspecto
Retraction
Deprecation
Exemplo de deprecation
Workflow de retraction
Passo a passo completo
Retraction em 'go.sum'
Limitações
O que retraction NÃO Faz
O que retraction FAZ
Melhores práticas
✅ Faça
❌ Não Faça
Integração com ferramentas
GitHub/GitLab
Proxies de módulos
IDEs
Troubleshooting
Problema: Usuários ainda usando versão retraída
Problema: Retraction não aparece
Problema: Como "desretrair" uma versão
Recursos adicionais
Conclusão
Last updated