Maison  >  Article  >  développement back-end  >  Parlons du mécanisme Vendor dans Golang

Parlons du mécanisme Vendor dans Golang

PHPz
PHPzoriginal
2023-04-06 09:12:161232parcourir

Golang est un langage de programmation populaire doté de puissantes capacités multithread et d'un mécanisme de récupération de place efficace, et est favorisé par de nombreux développeurs. Lors du développement à l'aide de Golang, vous devez souvent référencer de nombreuses bibliothèques et packages tiers. À l'heure actuelle, le mécanisme Vendor est utilisé pour gérer ce processus.

Introduction au mécanisme Vendor

Le mécanisme Vendor est un mécanisme de gestion de packages introduit dans Golang version 1.5, visant à résoudre le problème de conflit de version qui peut survenir lorsque Golang fait référence à des bibliothèques tierces. Avant d'utiliser le mécanisme Vendor, le mécanisme de gestion des packages de Golang utilisait principalement GOPATH, ce qui signifie que toutes les bibliothèques tierces sont téléchargées dans le même répertoire pour la gestion.

Cependant, il y a un problème avec ce mécanisme : lorsque différents projets doivent référencer différentes versions de la même bibliothèque, des conflits de versions peuvent survenir, et même inciter les développeurs à copier frénétiquement le code dans différents répertoires, ce qui est très gênant.

C'est pourquoi le mécanisme Vendor a été introduit dans la version 1.5 de Golang, permettant de copier le code des bibliothèques tierces directement dans le référentiel de code du projet, afin que chaque projet puisse utiliser sa propre version de la bibliothèque sans être affecté par d'autres projets. Les interférences ne causeront pas de problèmes de dépendance inutiles.

Processus d'installation du mécanisme Vendor

Après avoir compris le rôle du mécanisme Vendor, voici comment terminer l'installation du mécanisme Vendor.

Dans les versions antérieures à Golang 1.6, le mécanisme Vendor est désactivé par défaut. Vous devez ajouter une marque -vendor lors de la compilation du code pour activer le mécanisme Vendor. Par exemple :

go build -v -vendor

Dans Golang 1.6 et versions ultérieures, le mécanisme Vendor est activé par défaut, il vous suffit donc de créer un répertoire fournisseur dans le répertoire racine du projet.

Après avoir créé le répertoire du fournisseur, vous pouvez utiliser la commande go get pour installer des bibliothèques tierces et leurs bibliothèques dépendantes. Par exemple, si vous souhaitez installer github.com/go-sql-driver/mysql, vous pouvez utiliser la commande suivante pour l'installer :

GO15VENDOREXPERIMENT=1 go get github.com/go-sql-driver/mysql

Cette commande créera un répertoire github.com/go-sql-driver/mysql dans le répertoire du fournisseur, téléchargez toutes les bibliothèques dépendantes de la bibliothèque et copiez son code dans le répertoire du fournisseur.

Après avoir terminé l'installation de la bibliothèque tierce, vous pouvez utiliser le mécanisme Vendor pour gérer les dépendances du projet.

Résumé

L'utilisation du mécanisme Vendor peut résoudre efficacement le problème de conflit de version dans Golang lors du référencement de bibliothèques tierces, afin que chaque projet puisse utiliser indépendamment sa propre version de la bibliothèque. L'installation du mécanisme Vendor n'est pas compliquée. Il vous suffit de créer un répertoire fournisseur dans le répertoire racine du projet et d'utiliser la commande go get pour installer les bibliothèques tierces et leurs bibliothèques dépendantes. Si vous utilisez Golang pour le développement, il est fortement recommandé d'essayer le mécanisme Vendor. Je pense qu'il vous apportera une expérience de développement plus pratique.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn