Atualizando dependências
Com os módulos, as versões são referenciadas com tags de versão semântica. Uma versão semântica tem três partes: principal, secundária e patch. Por exemplo, para v0.1.2:
a versão principal é 0 (MAJOR)
a versão secundária é 1 (MINOR)
a versão do patch é 2 (PATCH)
Na próxima seção, consideraremos uma atualização de versão principal.
Pela saída de go list -m all
, podemos ver que estamos usando uma versão não tageada de golang.org/x/text. Vamos atualizar para a última versão tageada e testar se tudo ainda funciona:
Uau! Tudo passando. Vamos dar outra olhada em go list -m all
e no arquivo go.mod
:
O pacote golang.org/x/text
foi atualizado para a última versão tageada (v0.3.0
). O arquivo go.mod
também foi atualizado para especificar a v0.3.0
. O comentário indirect
indica que uma dependência não é usada diretamente por este módulo, apenas indiretamente por outras dependências do módulo.
Agora, vamos tentar atualizar a versão secundária rsc.io/sampler
. Comece da mesma maneira, executando go get
e rodando os testes:
Uh, oh! A falha do teste mostra que a versão mais recente de rsc.io/sampler
é incompatível com nosso uso. Vamos listar as versões marcadas disponíveis desse módulo:
Estávamos usando a v1.3.0
; v1.99.99
claramente não é bom. Talvez possamos tentar usar a v1.3.1
em vez disso:
Observe o @v1.3.1
explícito no argumento go get
. Em geral, cada argumento passado para go get
pode assumir uma versão explícita; o padrão é @latest
, que resolve para a versão mais recente conforme definido anteriormente.
Last updated