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
Libérer: 2024-11-03 12:28:02
original
814 Les gens l'ont consulté

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">
Copier après la connexion

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;
}
Copier après la connexion

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'>
Copier après la connexion

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>
Copier après la connexion

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!

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