„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 20.11.2024
Durchsuche:964

Why Does \

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

Beim Versuch, eines Ihrer Pakete von Ihrem „go get“-fähig 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 besteht darin, den Server so zu konfigurieren, dass er als Antwort auf „go get“-Anfragen ein bestimmtes Meta-Tag zurückgibt. Speziell für Nginx-Server kann die folgende Umschreiberegel verwendet werden:

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

Wenn „go get“-Anfragen an die angegebene URL mit dem Argument „go-get=1“ gestellt werden, wird das bereitgestellte Meta-Tag zurückgegeben. 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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3