Maison >développement back-end >Golang >Comment rendre un package disponible pour « aller chercher » sur un référentiel Git personnel ?

Comment rendre un package disponible pour « aller chercher » sur un référentiel Git personnel ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 12:28:02811parcourir

How to Make a Package Available for

Utiliser « go get » sur un référentiel Git personnel : un guide complet

Le défi

Tenter de rendre un package disponible pour « aller le chercher » sur un référentiel Git personnel entraîne souvent le message d'erreur « chemin d'importation non reconnu ». Cet article fournit une solution complète à ce problème.

Comprendre la balise META

Go nécessite une balise META dans la page HTML racine du référentiel Git qui spécifie le package chemin d'importation et URL du référentiel. La syntaxe est la suivante :

<meta name="go-import" content="import_path git repo_url">

Configuration du serveur

Pour que la fonctionnalité "go get" fonctionne, le serveur hébergeant le dépôt Git doit être configuré pour renvoyer la balise META lorsqu'une requête est effectuée avec le paramètre "?go-get=1".

Configuration nginx recommandée

La règle de réécriture nginx suivante peut être utilisé pour y parvenir :

location ~ "(/[^/]+/[^/]+)(/.*)?" {
    if ($arg_go-get = "1") {
            echo '<html><head><meta name="go-import" content="my.domain.com git git+ssh://[email protected]"/></head></html>';
    }
    try_files $uri $uri/index.html $uri.html @gitlab;
}

Cette règle suppose un accès SSH au référentiel Git. Si HTTPS est utilisé, modifiez l'URL en conséquence.

Exemple de balise META

Demande de "http://mygit.server/group/project?go-get=1 " doit renvoyer la balise META suivante :

<meta content='mygit.server/group/project git git+ssh://[email protected]/group/project.git' name='go-import'>

Test du package

Après avoir configuré le serveur, vous pouvez vérifier si le package est disponible pour "aller chercher" en exécutant :

<code class="Bash">go get example.com/user/package</code>

Cette commande devrait réussir à télécharger et installer le package.

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