首頁 > 後端開發 > Golang > 如何在沒有頂級'cmd”資料夾的情況下同時建置多個 Go 包二進位檔案?

如何在沒有頂級'cmd”資料夾的情況下同時建置多個 Go 包二進位檔案?

DDD
發布: 2024-11-02 22:49:29
原創
714 人瀏覽過

How to Build Multiple Go Package Binaries Simultaneously Without a Top-Level `cmd` Folder?

同時建立多個Go 套件二進位檔案

問題圍繞同時建立多個套件二進位文件,作為使用頂級的預設建議cmd 檔案夾似乎不起作用。提供的程式碼範例顯示了一種特定的資料夾結構,可以正確建構特定的二進位檔案。

要使用 go build 命令一步構建所有二進位文件,建議使用以下變體:

cd $GOPATH/someProject
for CMD in `ls src/cmd`; do
  go build ./src/cmd/"$CMD"
done
登入後複製

此命令迭代 src/cmd 目錄中的包並單獨構建每個包。產生的二進位檔案將儲存在各自的包目錄中。

或者,如果您不希望將二進位檔案安裝到 $GOPATH/bin 中,可以使用腳本。這是開源專案中的常見做法,其中建置腳本處理多個二進位生成。

可以使用以下範例腳本:

cd $GOPATH/someProject
for CMD in `ls cmd`; do
  go build ./cmd/$CMD
done
登入後複製

此腳本迭代 cmd 中的套件目錄並在每個目錄上執行 go build。結果是一組儲存在各自 cmd 套件目錄中的二進位。

為了進一步參考,以下熱門項目提供了構建腳本的範例:

  • Grafana:https:// github.com/grafana/grafana/blob/master/build.go
  • 圓環:https://github.com/coreos/torus/blob/master/Makefile
  • 球童:https: //github.com/mholt/caddy/blob/master /dist/automate.go

以上是如何在沒有頂級'cmd”資料夾的情況下同時建置多個 Go 包二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板