Olhando o quão ativamente os pacotes golang crescem e melhoram, eu me pergunto como o problema com as versões de pacotes é resolvido.
Vejo que uma maneira é armazenar pacotes de terceiros em uma pasta do projeto.
Mas e se eu o instalar go get
?
go get
instalará o pacote no primeiro diretório listado em GOPATH
(uma variável de ambiente que pode conter uma lista de diretórios separados por dois pontos). Você pode usar go get -u
para atualizar pacotes existentes.
Você também pode usar go get -u all
para atualizar todos os pacotes em seuGOPATH
Para projetos maiores, pode ser razoável criar GOPATHs diferentes para cada projeto, para que a atualização de uma biblioteca no projeto A não cause problemas no projeto B.
Digite go help gopath
para descobrir mais sobre a GOPATH
variável de ambiente.
go get -u all
lamento ressuscitar, mas no caso de alguém estar olhando.go get -u all
não funciona mais! A execução desse comando no GOPATH, pelo menos no Go 1.13, retornará um aviso: `warning" all "não corresponde a nenhum pacote"A resposta do @tux é ótima, só queria acrescentar que você pode usar o get get para atualizar um pacote específico:
fonte
Como a pergunta mencionou bibliotecas de terceiros e nem todos os pacotes, você provavelmente desejará voltar a usar caracteres curinga.
Um caso de uso: Eu só quero atualizar todos os meus pacotes que são obtidos no Github VCS, e você diria apenas:
Isso iria adiante e atualizaria apenas os pacotes do github no atual
$GOPATH
O mesmo se aplica a um VCS também, digamos que você queira atualizar apenas todos os pacotes dos repositórios do ogranizaiton A, pois eles lançaram um hotfix do qual você depende:
fonte
As respostas acima têm os seguintes problemas:
Para evitá-los, faça o seguinte:
go get -d
fonte
vai 1,13
(exec do diretório raiz do módulo)
Atualize as dependências especificadas:
Atualize todas as dependências diretas e indiretas para as atualizações secundárias ou de patch mais recentes (as pré-versões são ignoradas):
Referência:
https://github.com/golang/go/wiki/Modules#daily-workflow
go help get
fonte
Para especificar versões ou confirmações:
Consulte https://github.com/golang/go/wiki/Modules#daily-workflow
fonte
Vá para o caminho e digite
Ele atualizará todos os pacotes requeridos.
fonte
go get -u ./...
(3 pontos)