Go · Avançado · Português · Técnico
sufixo de versão major
Regra dos módulos: a partir da v2, o caminho do módulo termina em /v2, /v3 etc. Versões major incompatíveis são caminhos diferentes e podem coexistir.
Onde usar
Ao publicar a v2 de uma biblioteca, o go.mod passa a declarar module github.com/x/lib/v2 e os imports mudam. É o preço de garantir compatibilidade dentro de cada major.
Em código
// go.mod da biblioteca na v2
module github.com/ana/lib/v2
// no código que a usa:
import "github.com/ana/lib/v2"Exemplos
Na v2 da biblioteca, todos os imports ganharam o sufixo de versão major.
Esqueci o /v2 no go.mod e o go get não reconheceu a nova versão.
Cuidado
Marcar a tag v2.0.0 sem acrescentar /v2 ao caminho no go.mod não é aceito como módulo; o Go a trata como +incompatible.
Sinônimos
sufixo /v2