


Wie bette ich eine Build-Time-Befehlsabhängigkeit (z. B. „github.com/aprice/embed/cmd/embed') in Go-Module ein?
Nov 26, 2024 am 02:31 AMEinbetten von Befehlsabhängigkeiten in Go-Module
Einführung
Go-Module, eingeführt in Go 1.11, bieten Abhängigkeitsmanagement für Go Projekte. Neben Laufzeitabhängigkeiten müssen Benutzer möglicherweise Go-Module während des Build-Prozesses verwenden, insbesondere für Tools, die während des Go-Generate-Befehls ausgeführt werden.
Frage
Wie kann ich integrieren eine bestimmte Build-Abhängigkeit wie github.com/aprice/embed/cmd/embed erstellen und diese aus einem bestimmten Verzeichnis ausführen? Ist Go das geeignete Tool für diese Aufgabe?
Antwort
Mit den folgenden Methoden können Sie eine Befehlsabhängigkeit in Go-Module einbetten:
Erstellen eines „Tools“-Pakets
-
Erstellen ein Tools-Verzeichnis in Ihrem Projekt:
1
mkdir
-p internal/tools
Nach dem Login kopieren - Platzieren Sie das Tools-Paket in diesem Verzeichnis, wie unten gezeigt:
1 2 3 4 5 6 7 8 |
|
- Beachten Sie, dass der Build Tag gibt an, wann die Datei kompiliert werden soll und kann an die Anforderungen Ihres Projekts angepasst werden.
Aktualisierung go.mod
- Führen Sie go mod Tidy aus, um Ihre go.mod-Datei zu aktualisieren und die Abhängigkeit einzuschließen.
- Wenn dies fehlschlägt, versuchen Sie, zusätzliche Befehle wie go get, go generieren, oder gehen installieren.
Vendoring
- Führen Sie go mod seller aus, um den Quellcode für alle in go.mod aufgeführten Abhängigkeiten herunterzuladen.
- Ändern Sie Ihre Build-Befehle (z. B. go build, go generic), um das Flag -mod=vendor einzuschließen. Dadurch wird sichergestellt, dass Ihr Projekt die vom Anbieter bereitgestellten Abhängigkeiten verwendet.
Zusätzliche Hinweise
- Wenn Sie auf eine Fehlermeldung stoßen, die besagt, dass Ihr Programm kein importierbares Paket ist , erstellen Sie ein Tools-Paket und importieren Sie die Abhängigkeit dort.
- Vendoring ist entscheidend für die Nutzung des Modulcaches und die Vermeidung von Abhängigkeiten Konflikte.
Das obige ist der detaillierte Inhalt vonWie bette ich eine Build-Time-Befehlsabhängigkeit (z. B. „github.com/aprice/embed/cmd/embed') in Go-Module ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie schreibe ich Dateien in Go Language bequem?
