Maison > développement back-end > Golang > Parlons du problème des paramètres du fournisseur dans Golang

Parlons du problème des paramètres du fournisseur dans Golang

PHPz
Libérer: 2023-04-11 11:33:01
original
1392 Les gens l'ont consulté

Avec la large application du langage Go dans le développement, de plus en plus d'entreprises et d'équipes commencent à utiliser le langage Go pour le développement. L’une des questions qui se pose est de savoir comment gérer la gestion des dépendances. Le langage Go possède son propre outil de gestion des dépendances, mais vous pouvez rencontrer certains problèmes lors de l'utilisation de cet outil, dont le problème des paramètres du fournisseur.

Vendor est un mécanisme fourni avec le langage Go et utilisé pour gérer les packages de dépendances dans les projets. Normalement, un projet en langage Go peut utiliser de nombreuses bibliothèques tierces, et ces bibliothèques doivent être téléchargées et installées. En utilisant le mécanisme du fournisseur, nous pouvons placer ces packages de dépendances dans le sous-répertoire supplier du répertoire du projet, afin que les packages de dépendances puissent être gérés directement dans le projet sans les télécharger depuis Internet.

Dans le processus ci-dessus, vous avez le choix entre deux méthodes de configuration : les paramètres globaux et les paramètres locaux.

Paramètres globaux

En mode paramètres globaux, nous devons utiliser la commande suivante dans la ligne de commande :

go env -w GOFLAGS=-mod=vendor
Copier après la connexion

Cette commande définira la variable d'environnement GOFLAGS sur -mod=vendor, indiquant que pendant le processus d'installation et de construction des projets Go, les packages de dépendances du répertoire <code>vendor seront utilisés en premier. GOFLAGS环境变量设置为-mod=vendor,表示在安装和构建Go项目的过程中,会优先使用vendor目录中的依赖包。

然而,这种设置方式不是很灵活,可能会导致某些依赖包不能及时地从外部更新。而且,这种方式还会影响到其他Go语言的项目。因此,在建立新项目或者切换到新的项目时,我们可能需要重新设置这个环境变量。

局部设置

在局部设置模式下,我们需要修改项目目录下的go.mod文件,加入以下代码:

go 1.16
mod vendor
Copier après la connexion

其中,go 1.16是Go语言的版本号,而mod vendor表示使用vendor目录下的依赖包。在这种方式下,所有的依赖文件会被放置在项目目录的vendor

Cependant, cette méthode de configuration n'est pas très flexible et peut empêcher certains packages dépendants d'être mis à jour en externe en temps opportun. De plus, cette approche affectera également d’autres projets de langage Go. Par conséquent, lors de la création d'un nouveau projet ou du passage à un nouveau projet, nous devrons peut-être réinitialiser cette variable d'environnement.

Paramètres partiels

En mode paramètres locaux, nous devons modifier le fichier go.mod dans le répertoire du projet et ajouter le code suivant : 🎜rrreee🎜Parmi eux, go 1.16 code> est le numéro de version du langage Go, et <code>mod supplier signifie utiliser le package de dépendances dans le répertoire vendor. De cette façon, tous les fichiers dépendants seront placés dans le sous-répertoire vendor du répertoire du projet. 🎜🎜Cette méthode de paramétrage est très flexible et peut être facilement intégrée aux outils de contrôle de version. L'inconvénient est que chaque projet doit être configuré individuellement et des conflits de versions peuvent survenir. 🎜🎜En général, les paramètres du fournisseur sont l'une des étapes importantes dans la gestion des packages de dépendances des projets en langage Go. Bien que la méthode de paramétrage global soit très simple, afin de mieux gérer les packages dépendants et d'améliorer la maintenabilité du projet, il est recommandé d'utiliser la méthode de paramétrage local. 🎜

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal