Heim >Backend-Entwicklung >Golang >Warum schlägt „go get' in meinem persönlichen Git-Repository fehl und wie kann ich es beheben?

Warum schlägt „go get' in meinem persönlichen Git-Repository fehl und wie kann ich es beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-03 09:22:03370Durchsuche

Why Does

Verwenden von „go get“ in einem persönlichen Git-Repository

Wenn Sie versuchen, eines Ihrer Pakete von Ihrem „go get“-fähigen zu machen Bei einem persönlichen VPS kann es zu folgender Fehlermeldung kommen: „Paket example.com/user/package: unbekannter Importpfad“. Dieses Problem tritt auch nach scheinbar korrekter Konfiguration gemäß der Dokumentation „go help importpath“ auf.

Die Lösung liegt in der Konfiguration des Servers so, dass er als Antwort auf „go get“-Anfragen ein bestimmtes Meta-Tag zurückgibt. Speziell für Nginx-Server kann die folgende Rewrite-Regel verwendet werden:

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

Wenn „go get“-Anfragen an die angegebene URL mit dem „go-get=1“-Argument gestellt werden, wird das bereitgestellte Meta-Tag verwendet zurückgegeben werden. Dieses Meta-Tag enthält den Importpfad, den Versionskontrolltyp (Git) und die SSH-URL für das Repository.

Stellen Sie sicher, dass die SSH-URL korrekt ist, da diese von go zum Herunterladen und Installieren des Pakets verwendet wird . Wenn Sie HTTPS anstelle von SSH verwenden, ändern Sie das Meta-Tag entsprechend.

Das obige ist der detaillierte Inhalt vonWarum schlägt „go get' in meinem persönlichen Git-Repository fehl und wie kann ich es beheben?. 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