Heim >Backend-Entwicklung >Golang >Kann der Befehl „go get' von Go Pakete aus einem lokalen Server-Repository abrufen?

Kann der Befehl „go get' von Go Pakete aus einem lokalen Server-Repository abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-07 11:35:12351Durchsuche

Can Go's `go get` Command Retrieve Packages from a Local Server Repository?

Kann Go mit einem Repo auf einem lokalen Server arbeiten?

Ja, mit Go können Sie Pakete und Module aus gehosteten Repositorys abrufen ein lokaler Server, auch wenn es sich um ein privates Repository handelt. So können Sie Go verwenden, um mit solchen Repositories zu arbeiten:

GOPATH-Modus verwenden

Wenn Sie Go im GOPATH-Modus verwenden, müssen Sie hinzufügen Fügen Sie Ihrem System die folgende Umgebungsvariable hinzu:

GOPATH=/path/to/local/repo

Diese Einstellung weist Go an, im angegebenen lokalen Verzeichnis nach Paketen und Modulen zu suchen. Denken Sie daran, dass der Pfad der absolute Pfad zu dem Verzeichnis sein sollte, das Ihre Git-Repositorys enthält.

Anpassen des Go get-Befehls

Zum Abrufen von Paketen oder Modulen aus Ihrem lokalen Repository mit Go get, hängen Sie das folgende Format an die an Befehl:

[email protected]:/--path--/--to--/--repository.git//--package--/--or--/--module--

Hinweis:

  • Ersetzen Sie --path--/--to--/--repository.git durch das relative oder absoluter Pfad zu Ihrem lokalen Repository.
  • Ersetzen Sie --package--/--or--/--module durch den Namen des gewünschten Pakets oder Moduls abrufen.

Beispiel:

Angenommen, Sie haben ein lokales Repository unter /srv/git/liqid.git und möchten das Liquid-Paket abrufen. Sie würden den folgenden Befehl verwenden:

go get [email protected]:/srv/git/liqid.git/liqid

Achtung: Vermeiden Sie die Path@Version-Syntax, wenn Sie Go im GOPATH-Modus verwenden.

Module verwenden

Wenn Sie mit Modulen arbeiten, müssen Sie sicherstellen, dass die folgende Umgebungsvariable vorhanden ist set:

GOPRIVATE=192.168.xxx.yyy/mygitrepo/*,github.com/my-username/*

Hinweis: Ersetzen Sie 192.168.xxx.yyy/mygitrepo durch die IP-Adresse und den Repository-Namen Ihres lokalen Repositorys. Geben Sie zusätzliche private Repositorys an, indem Sie sie mit Kommas anhängen.

Ausführen Go get

Um ein Modul aus Ihrem lokalen Repository abzurufen, verwenden Sie den folgenden Befehl:

go get [email protected]:/--path--/--to--/--module--

Beispiel:

Um das Modul „mymodule“ abzurufen /srv/git/mymodule.git würden Sie den folgenden Befehl verwenden:

go get [email protected]:/srv/git/mymodule.git

Zusätzliche Überlegungen:

  • Stellen Sie sicher, dass Sie über SSH-Schlüsselzugriff verfügen in Ihr lokales Repository.
  • Auf Ihrem lokalen Server sollte SSHD ausgeführt werden.
  • Wenn der Hostname von Ihr lokaler Server enthält keinen Punkt (.), verwenden Sie stattdessen seine IP-Adresse.
  • Go speichert heruntergeladene Pakete und Module in $GOPATH/pkg/mod.
  • Sie können den Go-Mod verwenden Download-Befehl zum expliziten Herunterladen von Modulen.
  • Die Syntax go env -w GOPRIVATE= kann verwendet werden, um mehrere private festzulegen Repositorys.
  • Weitere Informationen und Best Practices finden Sie in der offiziellen Go-Dokumentation.

Das obige ist der detaillierte Inhalt vonKann der Befehl „go get' von Go Pakete aus einem lokalen Server-Repository abrufen?. 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