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