top of page
  • cobbdisptilasoun

Download go dependências



Como baixar as dependências do Go




Go é uma linguagem de programação popular que oferece muitos recursos e benefícios para o desenvolvimento de aplicativos rápidos, confiáveis e escaláveis. Um desses recursos é a capacidade de importar e usar pacotes de outras fontes, que são chamadas de dependências. As dependências são essenciais para reutilizar o código, evitar a duplicação e aproveitar as soluções existentes.




download go dependencies



No entanto, gerenciar dependências pode ser desafiador, especialmente ao lidar com diferentes versões, atualizações e problemas de compatibilidade. É por isso que o Go fornece um conjunto de ferramentas e convenções para gerenciamento de dependências, baseado no conceito de módulos. Um módulo é uma coleção de pacotes que são lançados, versionados e distribuídos juntos. Um módulo é identificado por um caminho de módulo, que é declarado em um go.mod arquivo, juntamente com informações sobre as dependências do módulo.


Uma das tarefas mais comuns para trabalhar com dependências é baixá-las de fontes remotas, como repositórios de controle de versão ou servidores proxy de módulo. Neste artigo, exploraremos como baixar as dependências do Go usando vários comandos e ferramentas fornecidas pelo Go. Também abordaremos algumas dicas e práticas recomendadas para gerenciar dependências com eficiência.


Baixando dependências com go get




O vai pegar O comando é um dos comandos mais usados para baixar dependências em Go. Ele aceita uma lista de pacotes, padrões de pacote ou caminhos de módulo como argumentos e baixa os pacotes junto com suas dependências. Em seguida, ele instala os pacotes nomeados, como vá instalar.


Usar vai pegar, você precisa ter um go.mod arquivo no diretório raiz do seu módulo principal. Você pode criar um executando vá mod init com o caminho do módulo como um argumento. Por exemplo:


$ go mod init example.com/mymodule


Isso criará um go.mod arquivo que se parece com isto:


module example.com/mymodule go 1.17


Você pode então usar vai pegar com qualquer pacote, padrão de pacote ou caminho de módulo que você deseja baixar. Por exemplo:


$ acesse github.com/gorilla/mux


Isso fará o download da versão mais recente do comandos ou ferramentas de pacotes. As dependências baixadas serão armazenadas no cache do módulo, localizado no $GOPATH/pacote/mod diretório por padrão.


Baixando Dependências com go mod download




O vá baixar o mod O comando é outra maneira de baixar dependências em Go. Ele baixa os módulos que estão listados no go.mod arquivo ou especificado como argumentos e os armazena no cache do módulo. Diferente vai pegar, ele não instala ou atualiza nenhum pacote e não modifica o go.mod arquivo.


Usar vá baixar o mod, você precisa ter um go.mod arquivo no diretório raiz do seu módulo principal, conforme explicado anteriormente. Você pode então correr vá baixar o mod sem nenhum argumento para baixar todos os módulos que são requeridos pelo seu módulo principal e suas dependências. Por exemplo:


$go download do mod


Isso fará o download de todos os módulos listados no exigir seção do seu go.mod arquivo, bem como quaisquer dependências indiretas, e armazená-los no cache do módulo. Você também pode usar vá baixar o mod com um caminho de módulo ou uma consulta de versão como argumento, para baixar um módulo específico ou uma versão correspondente. Por exemplo:


$ go mod download github.com/gorilla/mux $ go mod download github.com/gorilla/mux@v1.7.4 $ go mod download github.com/gorilla/mux@latest


Se você deseja imprimir os comandos executados por vá baixar o mod, você pode usar o -x bandeira. Por exemplo:


$ go mod download -x github.com/gorilla/mux cd /tmp/go-mod-download-123456 git clone /tmp/go-mod-download-123456 git -C /tmp/go-mod-download-123456 rev-parse v1.8.0 git -C /tmp/go-mod-download-123456 cat-file blob v1.8.0:go.mod mv /tmp/go-mod-download- 123456 $GOPATH/pkg/mod/github.com/gorilla/mux@v1.8.0


Isso mostrará as etapas envolvidas no download e armazenamento do módulo no cache do módulo.


Baixando dependências com o fornecedor do go mod




O vá fornecedor mod O comando é outra maneira de baixar dependências em Go. Ele cria um diretório vendor no diretório raiz do seu módulo principal, que contém cópias de todas as dependências necessárias para o seu módulo principal, excluindo pacotes test-only e main. A venda é uma alternativa para usar o cache do módulo ou um servidor proxy do módulo e pode ser útil para compilações off-line, compilações reproduzíveis ou para distribuir seu módulo com suas dependências.


Usar vá fornecedor mod, você precisa ter um go.mod arquivo no diretório raiz do seu módulo principal, conforme explicado anteriormente. Você pode então correr vá fornecedor mod sem nenhum argumento para criar ou atualizar o diretório do fornecedor com todas as dependências necessárias. Por exemplo:


$ vá fornecedor de mod


Isso criará ou atualizará um diretório de fornecedores semelhante a este:


$ tree vendor vendor github.com gorilla mux LICENSE README.md context.go doc .go middleware.go mux.go regexp.go route.go modules.txt


O módulos.txt O arquivo contém informações sobre os módulos e pacotes fornecidos, como seus caminhos e versões. Você também pode usar o -v bandeira com vá fornecedor mod, para imprimir os nomes dos módulos e pacotes fornecidos. Por exemplo:


$ go mod vendor -v # github.com/gorilla/mux v1.8.0 => github.com/gorilla/mux v1.8.0 github.com/gorilla/mux


Para habilitar o modo de venda para compilações e testes, você precisa usar o (#mensagem) Continue escrevendo o artigo. -mod=vendedor bandeira ou o GOFLAGS variável de ambiente. Por exemplo:


$ go build -mod=vendor $ go test -mod=vendor $ export GOFLAGS=-mod=vendor $ go run main.go


Isso instruirá o Go a usar as dependências fornecidas em vez do cache do módulo ou um servidor proxy do módulo.


Conclusão




Neste artigo, aprendemos como baixar as dependências do Go usando vários comandos e ferramentas, como vai pegar, vá baixar o mod, e vá fornecedor mod. Também cobrimos algumas dicas e práticas recomendadas para gerenciar dependências com eficiência, como usar módulos, especificar versões, atualizar dependências e vender dependências.


O download de dependências é uma parte importante do desenvolvimento e manutenção de aplicativos Go, pois nos permite reutilizar o código, evitar a duplicação e aproveitar as soluções existentes. Ao usar as ferramentas e convenções fornecidas pelo Go, podemos tornar essa tarefa mais fácil, rápida e confiável.


Esperamos que você tenha achado este artigo útil e informativo. Se quiser saber mais sobre o gerenciamento de dependências do Go, você pode conferir a documentação oficial ou alguns dos recursos listados abaixo. Você também pode experimentar os comandos e ferramentas discutidos neste artigo em seus próprios projetos e ver como eles funcionam para você.


perguntas frequentes




Qual é a diferença entre os módulos Go e dep?




Módulos Go e dep são ferramentas para gerenciar dependências em Go. No entanto, os módulos Go são a maneira oficial e recomendada de fazer isso, desde o Go 1.11. Dep é uma ferramenta de terceiros que foi desenvolvida antes da introdução dos módulos Go e agora está obsoleta e sem suporte. Os módulos Go oferecem várias vantagens sobre o dep, como:


  • Eles não exigem um GOPATH variável de ambiente ou uma estrutura de diretório específica.



  • Eles suportam versões semânticas e consultas de versão para dependências.



  • Eles usam somas de verificação para verificar a integridade das dependências.



  • Eles permitem o uso de várias versões da mesma dependência em diferentes módulos.



  • Eles fornecem um protocolo de proxy de módulo para armazenar em cache e servir dependências.



Qual é a diferença entre go get e go install?




vai pegar e vá instalar são comandos para baixar e instalar pacotes em Go. No entanto, eles têm algumas diferenças em como funcionam e o que fazem. Por exemplo:


  • vai pegar pode aceitar padrões de pacote ou caminhos de módulo como argumentos, enquanto vá instalar só pode aceitar caminhos de pacote.



  • vai pegar pode especificar uma versão ou uma consulta de versão para uma dependência, enquanto vá instalar não pode.



  • vai pegar pode atualizar ou fazer downgrade de dependências com o -você bandeira, enquanto vá instalar não pode.



  • vai pegar pode parar depois de baixar as dependências sem instalá-las com o (#mensagem) Continue escrevendo o artigo. -d bandeira, enquanto vá instalar não pode.



  • vai pegar pode baixar e instalar comandos executáveis, enquanto vá instalar só pode instalá-los se já tiverem sido baixados.



  • vai pegar pode modificar o go.mod arquivo para adicionar ou atualizar dependências, enquanto vá instalar não pode.



Como posso usar um diretório local ou um repositório bifurcado como dependência?




Se você deseja usar um diretório local ou um repositório bifurcado como dependência, pode usar o substituir diretriz em seu go.mod arquivo. O substituir A diretiva permite que você substitua um caminho de módulo por outro caminho de módulo ou um diretório local. Por exemplo:


module example.com/mymodule go 1.17 require github.com/gorilla/mux v1.8.0 replace github.com/gorilla/mux => ../mux // use um diretório local replace github.com/gorilla/mux => github .com/myfork/mux v1.8.1 // usa um repositório bifurcado


Isso instruirá o Go a usar a substituição especificada em vez da dependência original, ao baixar, compilar ou testar seu módulo.


Como posso gerenciar módulos privados que requerem autenticação?




Se você deseja gerenciar módulos privados que requerem autenticação, você pode usar o IR PRIVADO, GOPROXY, e GONOSUMDB variáveis ambientais. Essas variáveis permitem que você controle como o Go acessa e verifica os módulos privados. Por exemplo:


$ export GOPRIVATE=example.com $ export GOPROXY= $ export GONOSUMDB=example.com


Isso instruirá Ir para:


  • Use as credenciais de autenticação padrão para qualquer módulo com o exemplo.com prefixo.



  • Use o servidor proxy especificado para qualquer módulo com o (#mensagem) Continue escrevendo o artigo. exemplo.com prefixo e, caso contrário, volte para o acesso direto.



  • Ignore o banco de dados de soma de verificação para qualquer módulo com o exemplo.com prefixo.



Você também pode usar o netrc arquivo ou o GONETRC variável de ambiente para especificar credenciais de autenticação personalizadas para diferentes hosts. Para mais detalhes, consulte o .


Como posso migrar de outras ferramentas de gerenciamento de dependência para os módulos Go?




Se você deseja migrar de outras ferramentas de gerenciamento de dependência para módulos Go, pode usar o vá mod init comando com o nome da ferramenta como argumento. Isso criará um go.mod arquivo com base no arquivo de configuração da ferramenta, como gopkg.lock, glide.lock, ou fornecedor/vendor.json. Por exemplo:


$ go mod init github.com/golang/dep go: criando novo go.mod: módulo github.com/golang/dep go: copiando requisitos de Gopkg.lock


Isso criará um go.mod arquivo que se parece com isto:


módulo github.com/golang/dep go 1.17 requerem ( github.com/Masterminds/semver v1.4.2 github.com/Masterminds/vcs v1.13.1 github.com/armon/go-radix v1.0.0 github.com/boltdb/ bolt v1.3.1 github.com/golang/protobuf v1.2.0 github.com/jmank88/nuts v0.3.0 github.com/nightlyone/lockfile v1.0.0 github.com/pelletier/go-toml v1.2.0 github.com/ pkg/errors v0.8.0 github.com/sdboyer/constext v0.0.0-20170321163424-836a14457353 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d golang.org/x/sync v0.0.0-20180 314180146-1d60e4601c6f golang. org/x/sys v0.0.0-20180830151530-49385e6e1522 )


Você pode então usar vá mod arrumado para limpar quaisquer dependências não utilizadas ou desnecessárias, e (#mensagem) Continue escrevendo o artigo. usar vá fornecedor mod para criar um diretório de fornecedores, se necessário. Para mais detalhes, consulte o guia.





Obrigado por ler este artigo. Espero que você tenha aprendido algo novo e útil sobre como baixar as dependências do Go.Se você tiver alguma dúvida, feedback ou sugestão, sinta-se à vontade para deixar um comentário abaixo. Codificação feliz!


Referências:: org/cmd/go/#hdr-Download_modules_to_local_cache: 0517a86e26


1 view0 comments

Recent Posts

See All

baixar seu próprio ai

Baixe sua própria IA: benefícios, desafios e guia prático A inteligência artificial (IA) é uma tecnologia poderosa que pode simular a inteligência humana e executar tarefas que, de outra forma, exigir

bottom of page