Heim >Backend-Entwicklung >Golang >Wie mache ich ein Paket für „go get' in einem persönlichen Git-Repository verfügbar?

Wie mache ich ein Paket für „go get' in einem persönlichen Git-Repository verfügbar?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 12:28:02809Durchsuche

How to Make a Package Available for

Verwendung von „go get“ in einem persönlichen Git-Repository: Ein umfassender Leitfaden

Die Herausforderung

Der Versuch, ein Paket für „go get“ in einem persönlichen Git-Repository verfügbar zu machen, führt oft zu der Fehlermeldung „unerkannter Importpfad“. Dieser Artikel bietet eine umfassende Lösung für dieses Problem.

Grundlegendes zum META-Tag

Go benötigt ein META-Tag in der Stamm-HTML-Seite des Git-Repositorys, das die Pakete angibt Importpfad und Repository-URL. Die Syntax lautet wie folgt:

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

Einrichten des Servers

Damit die „Go Get“-Funktion funktioniert, muss der Server, der das Git-Repository hostet, konfiguriert werden um das META-Tag zurückzugeben, wenn eine Anfrage mit dem Parameter „?go-get=1“ gestellt wird.

Empfohlene Nginx-Konfiguration

Die folgende Nginx-Umschreibungsregel kann sein Wird verwendet, um dies zu erreichen:

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;
}

Diese Regel setzt SSH-Zugriff auf das Git-Repository voraus. Wenn HTTPS verwendet wird, ändern Sie die URL entsprechend.

Beispiel-META-Tag

Anfrage „http://mygit.server/group/project?go-get=1 " sollte das folgende META-Tag zurückgeben:

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

Testen des Pakets

Nach der Konfiguration des Servers können Sie überprüfen, ob das Paket für „go get“ verfügbar ist. indem Sie Folgendes ausführen:

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

Dieser Befehl sollte das Paket erfolgreich herunterladen und installieren.

Das obige ist der detaillierte Inhalt vonWie mache ich ein Paket für „go get' in einem persönlichen Git-Repository verfügbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn