"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pouvez-vous éviter complètement les dépendances indirectes dans les modules Go ?

Pouvez-vous éviter complètement les dépendances indirectes dans les modules Go ?

Publié le 2024-11-12
Parcourir:849

Can You Completely Avoid Indirect Dependencies in Go Modules?

Éviter les dépendances indirectes dans les fichiers go.mod

Dans le contexte des modules Go, les dépendances sont des packages requis par un module particulier. Alors que les dépendances directes sont explicitement répertoriées dans l'instruction require du fichier go.mod, les dépendances indirectes sont automatiquement ajoutées lorsqu'une dépendance directe en dépend.

Cela peut conduire à une situation où le fichier go.mod d'un module contient de nombreuses dépendances indirectes, même si elles ne sont pas directement utilisées par le module lui-même. Cela peut être déroutant et difficile à gérer, surtout lorsque plusieurs versions d'une dépendance sont incluses.

Malheureusement, il n'est pas possible d'éviter complètement les dépendances indirectes dans les fichiers go.mod. Lors de l'utilisation de modules Go, toutes les dépendances requises par une dépendance directe seront automatiquement ajoutées en tant que dépendances indirectes, sauf indication contraire.

Prenons l'exemple fourni dans la question :

module prodenv

go 1.13

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

Dans ce cas, github.com/gocolly/colly v1.2.0 n'a pas de fichier go.mod, donc toutes ses dépendances sont répertoriées comme indirectes dans le fichier go.mod du module prodenv.

Pour éviter les dépendances indirectes, il est recommandé d'utiliser des dépendances contenant des fichiers go.mod. Cela garantira que seules les dépendances directement utilisées par le module sont répertoriées dans le fichier go.mod.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3