Maison > développement back-end > Golang > La commande « go get » de Go peut-elle récupérer des packages à partir d'un référentiel de serveur local ?

La commande « go get » de Go peut-elle récupérer des packages à partir d'un référentiel de serveur local ?

Mary-Kate Olsen
Libérer: 2024-12-07 11:35:12
original
308 Les gens l'ont consulté

Can Go's `go get` Command Retrieve Packages from a Local Server Repository?

Go peut-il travailler avec un dépôt sur un serveur local ?

Oui, Go vous permet de récupérer des packages et des modules à partir de référentiels hébergés sur un serveur local, même s'il s'agit d'un référentiel privé. Voici comment utiliser Go pour travailler avec de tels référentiels :

Utiliser le mode GOPATH

Si vous utilisez Go en mode GOPATH, vous devrez ajouter la variable d'environnement suivante sur votre système :

GOPATH=/path/to/local/repo
Copier après la connexion

Ce paramètre demandera à Go de rechercher des packages et des modules dans le répertoire local spécifié. N'oubliez pas que le chemin doit être le chemin absolu vers le répertoire contenant vos référentiels git.

Ajustement de la commande Go get

Pour récupérer des packages ou des modules de votre référentiel local à l'aide de Go get, ajoutez le format suivant au commande :

[email protected]:/--path--/--to--/--repository.git//--package--/--or--/--module--
Copier après la connexion

Remarque :

  • Remplacez --path--/--to--/--repository.git par le relatif ou chemin absolu vers votre référentiel local.
  • Remplacez --package--/--or--/--module par le nom du package ou du module souhaité à récupérer.

Exemple :

Disons que vous avez un référentiel local sur /srv/git/liqid.git et que vous souhaitez récupérer le package liqid. Vous utiliseriez la commande suivante :

go get [email protected]:/srv/git/liqid.git/liqid
Copier après la connexion

Attention : Évitez la syntaxe path@version lorsque vous utilisez Go en mode GOPATH.

Utilisation de modules

Lorsque vous travaillez avec des modules, vous devez vous assurer que la variable d'environnement suivante est set :

GOPRIVATE=192.168.xxx.yyy/mygitrepo/*,github.com/my-username/*
Copier après la connexion

Remarque : Remplacez 192.168.xxx.yyy/mygitrepo par l'adresse IP et le nom du référentiel de votre référentiel local. Spécifiez des référentiels privés supplémentaires en les ajoutant des virgules.

Exécutez Go get

Pour récupérer un module de votre référentiel local, utilisez la commande suivante :

go get [email protected]:/--path--/--to--/--module--
Copier après la connexion

Exemple :

Pour récupérer le module mymodule depuis /srv/git/mymodule.git, vous utiliserez la commande suivante :

go get [email protected]:/srv/git/mymodule.git
Copier après la connexion

Considérations supplémentaires :

  • Assurez-vous d'avoir accès à la clé SSH à votre référentiel local.
  • Votre serveur local doit avoir SSHD en cours d'exécution.
  • Si le nom d'hôte de votre serveur local ne contient pas de point (.), utilisez plutôt son adresse IP.
  • Go met en cache les packages et modules téléchargés dans $GOPATH/pkg/mod.
  • Vous pouvez utiliser le mod go download pour télécharger explicitement les modules.
  • La syntaxe go env -w GOPRIVATE= peut être utilisée pour définir plusieurs référentiels privés.
  • Pour plus d'informations et les bonnes pratiques, reportez-vous à la documentation officielle de Go.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal