Maison >développement back-end >Golang >Comment intégrer une dépendance de commande au moment de la construction (par exemple, `github.com/aprice/embed/cmd/embed`) dans les modules Go ?

Comment intégrer une dépendance de commande au moment de la construction (par exemple, `github.com/aprice/embed/cmd/embed`) dans les modules Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 02:31:13361parcourir

How to Embed a Build-Time Command Dependency (e.g., `github.com/aprice/embed/cmd/embed`) in Go Modules?

Intégration de la dépendance des commandes dans les modules Go

Introduction

Les modules Go, introduits dans Go 1.11, assurent la gestion des dépendances pour Go projets. Outre les dépendances d'exécution, les utilisateurs peuvent avoir besoin d'utiliser des modules go pendant le processus de construction, en particulier pour les outils qui s'exécutent pendant la commande go generate.

Question

Comment puis-je incorporer une dépendance de build spécifique, telle que github.com/aprice/embed/cmd/embed, et l'exécuter à partir d'un répertoire spécifique ? Allez-vous obtenir l'outil approprié pour cette tâche ?

Réponse

En utilisant les méthodes suivantes, vous pouvez intégrer une dépendance de commande dans les modules Go :

Création d'un "Outils" Package

  1. Créez un répertoire d'outils dans votre projet :

    mkdir -p internal/tools
  2. Placez le package d'outils dans ce répertoire, comme indiqué ci-dessous :
// internal/tools/tools.go
// +build tools

package tools

import (
    _ "github.com/UnnoTed/fileb0x"
)
  1. Notez que la balise build spécifie quand le fichier doit être compilé et peut être personnalisée en fonction de votre projet. exigences.

Mise à jour de go.mod

  1. Exécutez go mod spice pour mettre à jour votre fichier go.mod et inclure la dépendance.
  2. Si cela échoue, essayez d'exécuter des commandes supplémentaires telles que go get, go generate ou go install.

Vendoring

  1. Exécutez go mod supplier pour télécharger le code source de toutes les dépendances répertoriées dans go.mod.
  2. Modifiez vos commandes de build (par exemple, go build, go generate) pour inclure l'indicateur -mod=vendor. Cela garantit que votre projet utilise les dépendances fournies.

Notes supplémentaires

  • Si vous rencontrez une erreur indiquant que votre programme n'est pas un package importable , créez un package d'outils et importez-y la dépendance.
  • La vente est cruciale pour utiliser le cache du module et éviter les dépendances. conflits.

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