Mit der Einführung von Modulen in Go 1.11 ist die Verwaltung von Abhängigkeiten einfacher geworden. Wenn Sie jedoch mit Build-Abhängigkeiten arbeiten, die während des Build-Prozesses ausgeführt werden müssen (z. B. „Generieren“), ist ein spezifischer Ansatz erforderlich.
Um eine Build-Abhängigkeit zu installieren, Sie können go get verwenden, es wird jedoch empfohlen, ein dediziertes „Tools“-Paket für die Abhängigkeiten zu erstellen, die nur während des Build-Prozesses verwendet werden müssen. Dieses Paket importiert die gewünschte Abhängigkeit.
package tools import ( _ "github.com/aprice/embed/cmd/embed" )
Sobald das Paket „tools“ erstellt wurde, aktualisieren Sie Ihren Code, um es zu verwenden. Wenn Sie beispielsweise den Embed-Befehl während der Go-Generierung verwenden möchten, können Sie Folgendes in Ihre Datei aufnehmen:
// +build tools //go:generate go run -mod=vendor github.com/aprice/embed/cmd/embed config/dev.yaml
Um sicherzustellen, dass die Build-Abhängigkeit hinzugefügt wird Führen Sie für die Datei „go.mod“ den Befehl „Go Mod Tidy“ aus. Mit diesem Befehl wird die erforderliche Moduldeklaration hinzugefügt.
Um den Modul-Cache zu nutzen und das Herunterladen von Abhängigkeiten zur Laufzeit zu vermeiden, müssen Sie den Quellcode mit go mod seller bereitstellen. Dieser Befehl kopiert alle Abhängigkeiten in das Vendor-Verzeichnis.
Um Go-Befehle mit aktiviertem Vendor-Modus zu verwenden, geben Sie das Flag -mod=vendor an. Dies ist für alle Go-Befehle erforderlich, einschließlich fmt, generic und build.
go fmt -mod=vendor ./... go generate -mod=vendor ./... go build -mod=vendor ./...
Durch Befolgen dieser Schritte können Sie Build-Abhängigkeiten einfach in Go-Modulen installieren und verwenden und so eine ordnungsgemäße Modulverwaltung und Build-Ausführung sicherstellen.
Das obige ist der detaillierte Inhalt vonWie verwaltet man Build-Abhängigkeiten in Go-Modulen effektiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!