同時建立多個套件二進位檔案
如果一個專案下有多個包,單獨建置每個二進位檔案可能會很乏味。本文探討如何一步建立所有二進位檔案。
對多個二進位檔案使用腳本
使用「cmd」資料夾作為多個包二進位檔案的根目錄的預設建議不是總是有效的。相反,請考慮使用腳本來迭代“cmd”目錄中的套件並單獨建立每個包。
cd $GOPATH/someProject
for CMD in `ls cmd`; do
go build ./cmd/$CMD
done
此腳本將在「bin」目錄中使用單獨建置的二進位檔案建立上述目錄結構.
替代解決方案
對於更複雜的項目,您可能需要額外的功能或與建置系統整合。以下是一些流行的選項:
-
Makefile: Makefile 提供了一種靈活的方式來定義建置規則和依賴項。 [Grafana 的 build.go](https://github.com/grafana/grafana/blob/master/build.go) 是用於建立多個二進位檔案的 Makefile 的絕佳範例。
-
Go build 的建置標籤: 建置標籤可讓您編譯特定的子目錄。 [Torus 的 Makefile](https://github.com/coreos/torus/blob/master/Makefile) 示範如何使用建置標籤建立多個二進位檔案。
-
自訂建置腳本:您可以建立處理建置和打包過程的自訂腳本。 [Caddy 的automate.go](https://github.com/mholt/caddy/blob/master/dist/automate.go) 是自訂建置腳本的範例。
以上是如何在 Go 專案中同時建置多個包二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!