Maison >développement back-end >Golang >Comment puis-je gérer efficacement les dépendances de Go à l'aide du mécanisme « fournisseur » dans Go 1.6 ?
Gestion des dépendances avec le fournisseur dans Go 1.6
Go 1.6 a introduit le fournisseur, un mécanisme intégré pour gérer les dépendances directement dans les projets. Comment utiliser cette fonctionnalité efficacement ?
Comprendre le fournisseur
Avec le fournisseur, les chemins de recherche de Go donnent la priorité aux dépendances trouvées dans le répertoire ./vendor/. Cela signifie que si une dépendance est présente à la fois dans ./vendor/ et $GOPATH/src/, la version ./vendor/ sera utilisée.
Utilisation manuelle du fournisseur
Pour utiliser le fournisseur manuellement, copiez les fichiers de la dépendance depuis $GOPATH/src/ dans un chemin correspondant dans le répertoire ./vendor/, correspondant au chemin d'origine. Cela donnera la priorité à des outils tels que go build et go run aux versions ./vendor/.
Outils de gestion des dépendances
Au lieu de la copie manuelle, envisagez d'utiliser des outils de gestion des dépendances comme Godep ou Govendor. Ces outils remplissent automatiquement le répertoire ./vendor/ avec les dépendances trouvées dans votre projet en les copiant depuis $GOPATH/src/.
Utilisation sélective des fournisseurs
Pendant la gestion des dépendances Si ces outils ont leurs mérites, ils peuvent aussi conduire à une dépendance excessive. Au lieu de verrouiller les dépendances, envisagez d'utiliser le fournisseur pour gérer des référentiels problématiques spécifiques tout en permettant aux autres de mettre à jour librement en utilisant go get -u.
Exemple
Vous avez des dépendances installées via la méthode $GOPATH/src/github. Pour vendre sélectivement une seule dépendance, exécutez :
mkdir -p $GOPATH/src/ou/vendor/github.com/zenazn/goji cp -r $GOPATH/src/github.com/zenazn/goji/ $GOPATH/src/ou/vendor/github.com/zenazn/goji
Cela copie la dépendance problématique dans ./vendor/ tout en laissant les autres dépendances se mettre à jour librement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!