"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Você pode evitar completamente dependências indiretas em módulos Go?

Você pode evitar completamente dependências indiretas em módulos Go?

Publicado em 2024-11-12
Navegar:932

Can You Completely Avoid Indirect Dependencies in Go Modules?

Evitando dependências indiretas em arquivos go.mod

No contexto dos módulos Go, dependências são pacotes exigidos por um módulo específico. Embora as dependências diretas sejam explicitamente listadas na instrução require do arquivo go.mod, as dependências indiretas são adicionadas automaticamente quando uma dependência direta depende delas.

Isso pode levar a uma situação em que o arquivo go.mod de um módulo contém inúmeras dependências indiretas, mesmo que não sejam usadas diretamente pelo próprio módulo. Isso pode ser confuso e difícil de gerenciar, especialmente quando várias versões de uma dependência são incluídas.

Infelizmente, não é possível evitar completamente dependências indiretas em arquivos go.mod. Ao usar módulos Go, todas as dependências exigidas por uma dependência direta serão automaticamente adicionadas como dependências indiretas, a menos que especificado de outra forma.

Veja o exemplo fornecido na pergunta:

module prodenv

go 1.13

require (
    github.com/gocolly/colly v1.2.0
    ...
)

Neste caso, github.com/gocolly/colly v1.2.0 não possui um arquivo go.mod, portanto, todas as suas dependências são listadas como indiretas no arquivo go.mod do módulo prodenv.

Para evitar dependências indiretas, é recomendado usar dependências que possuam arquivos go.mod. Isso garantirá que apenas as dependências usadas diretamente pelo módulo sejam listadas no arquivo go.mod.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3