Maison > Article > développement back-end > Comment les versions de sous-modules sont-elles gérées dans un référentiel Go avec plusieurs fichiers go.mod ?
Gestion des versions de sous-modules dans Go
Lorsqu'un référentiel Go contient plusieurs fichiers go.mod, il est crucial de comprendre comment les versions de sous-modules sont gérées. Dans l'exemple fourni, un fichier go.mod existe à la racine et dans le sous-répertoire. Cela soulève la question de savoir comment les versions des sous-modules sont publiées et mises à jour.
Version des sous-modules
Contrairement à l'intuition, les versions des sous-modules ne s'alignent pas nécessairement sur celles du module parent. Ils sont considérés comme des modules indépendants au sein du même référentiel. Par conséquent, la mise à jour du module racine ne met pas toujours à jour le sous-module.
Go Tagging and Release Management
Pour gérer la gestion des versions des sous-modules, Go exploite les balises Git. Les balises servent de marqueurs de version pour des versions spécifiques. Les balises Git hiérarchiques sont utilisées pour marquer les versions de sous-modules. Dans l'exemple donné, la dernière version de Vault est 1.3.3, tandis que la dernière balise pour Vault/Api est 1.0.4.
Mise à jour des versions de sous-modules
Pour mettez à jour le sous-module vault/api, utilisez simplement go get pour récupérer la dernière version :
<code class="go">go get github.com/hashicorp/vault/api</code>
Go détectera et installera automatiquement la dernière version du sous-module sans la spécifier dans go.mod.
Conclusion
Comprendre la gestion des versions des sous-modules est crucial lorsque vous travaillez avec plusieurs fichiers go.mod. Les sous-modules sont des entités indépendantes avec leurs propres mécanismes de gestion des versions, et leur mise à jour nécessite une commande go get distincte sans spécifier explicitement les versions. Les balises Git structurées hiérarchiquement sont utilisées pour marquer les versions spécifiques des sous-modules.
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!