3 回答

TA貢獻1830條經驗 獲得超9個贊
如果您不想將二進制文件安裝到$GOPATH/bin中,您可以做其他開源項目所做的事情,即創建一個腳本。
那里的大多數項目都有用于生成多個二進制文件的 make 文件和構建腳本。
在您的情況下,您可以構建一個腳本來迭代 中的包cmd,并go build在每個包上運行。
cd $GOPATH/someProject
for CMD in `ls cmd`; do
go build ./cmd/$CMD
done
這導致:
[root@node1 test]# ls $GOPATH/someProject
bin1 bin2 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

TA貢獻1719條經驗 獲得超6個贊
從go build
幫助:
當編譯多個包或單個非主包時,build 編譯包但丟棄生成的對象,僅用作檢查包是否可以構建。
為了在一個目錄下構建所有包,您可以運行go install ./...
. 您的所有軟件包都將被構建和安裝(即放在 $GOPATH/bin 下)。
在您的示例中,您將生成兩個可執行文件:$GOPATH/bin/bin1
和$GOPATH/bin/bin2
還有另一種方法是編寫一個簡單的 Makefile 來做你想做的事。
- 3 回答
- 0 關注
- 228 瀏覽
添加回答
舉報