Heim > Artikel > Backend-Entwicklung > Wie erstellt man mehrere Go-Binärdateien gleichzeitig?
Gleichzeitiges Erstellen mehrerer Paket-Binärdateien
Gemäß Ihrer Anfrage kann das gleichzeitige Erstellen mehrerer Paket-Binärdateien durch Erstellen eines „cmd“ der obersten Ebene erreicht werden " Ordnerstruktur, die an anderer Stelle vorgeschlagen wurde. Bei diesem Ansatz sind Sie jedoch auf Herausforderungen gestoßen.
So erstellen Sie einzelne Binärdateien mithilfe einer „cmd“-Ordnerstruktur:
Stellen Sie sicher, dass Sie über die folgende Dateistruktur verfügen (wie gemäß Ihrem Arbeitsbeispiel):
├── cmd │ ├── bin1 │ │ └── main.go │ ├── bin2 │ │ └── main.go ├── src │ ├── shared │ │ ├── foo │ │ │ └── foo.go
Führen Sie den folgenden Befehl für jede Binärdatei aus, die Sie erstellen möchten, und ersetzen Sie „< Binärname>" mit dem gewünschten Binärnamen:
go build -o "<binary-name>" ./cmd/<binary-name>
Zum Beispiel:
go build -o bin1 ./cmd/bin1 go build -o bin2 ./cmd/bin2
Dadurch werden die Binärdateien „bin1“ und „bin2“ im Stammverzeichnis des Projekts erstellt .
Alternativer Ansatz mit einem Skript
Wenn Sie die Binärdateien lieber nicht in $GOPATH/bin installieren möchten, können Sie ein Build-Skript erstellen, das die Pakete durchläuft und erstellt jede Binärdatei einzeln.
Erstellen Sie ein Skript mit dem Namen „build-all.sh“ mit folgendem Inhalt:
<code class="sh">#!/bin/bash # Iterate over the packages in the "cmd" directory for CMD in `ls cmd`; do # Build the binary for each package go build -o $CMD ./cmd/$CMD done</code>
Machen Sie das ausführbare Skriptdatei:
<code class="sh">chmod +x build-all.sh</code>
Führen Sie das Skript aus, um alle Binärdateien in einem Schritt zu erstellen:
<code class="sh">./build-all.sh</code>
Dieser Ansatz bietet Flexibilität und Kontrolle über den Binärerstellungsprozess und ahmt nach, was viele Open-Source-Projekte verwenden.
Das obige ist der detaillierte Inhalt vonWie erstellt man mehrere Go-Binärdateien gleichzeitig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!