Création de plusieurs binaires de packages en une seule commande
Afin de créer plusieurs binaires de packages en une seule fois, vous devez créer un script pour parcourez chaque package et exécutez la commande go build sur chacun d'eux, comme indiqué ci-dessous :
<code class="bash">cd $GOPATH/someProject for CMD in `ls cmd`; do go build ./cmd/$CMD done</code>
Ce script entraînera ce qui suit :
[root@node1 test]# ls $GOPATH/someProject bin1 bin2 cmd
Pourquoi la valeur par défaut Le conseil d'utilisation d'un dossier cmd de niveau supérieur ne fonctionne pas
Le conseil par défaut d'utiliser un dossier cmd de niveau supérieur pour créer plusieurs binaires ne fonctionne pas car la commande go build ne reconnaît pas le cmd dossier sous forme de package. Au lieu de cela, il traite le dossier cmd comme un sous-répertoire du répertoire de travail actuel et construit uniquement le package contenu dans ce répertoire. Cela entraîne la construction d'un seul binaire.
Solution alternative : utilisation d'un fichier Make ou d'un script de construction
Si vous ne souhaitez pas installer les binaires dans $GOPATH/ bin, vous pouvez créer un fichier make ou un script de build pour gérer le processus de build. La plupart des projets open source utilisent cette approche pour produire plusieurs binaires. Par exemple :
Créer un fichier :
# Makefile for building multiple binaries all: bin1 bin2 bin1: go build ./cmd/bin1 bin2: go build ./cmd/bin2
Build Script :
<code class="bash">#!/bin/bash # Iterate over the packages in cmd and run go build on each for CMD in `ls cmd`; do go build ./cmd/$CMD done</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!