Go - Build Executables for Multiple Platforms
08 Feb 2023Go
以 libp2p 的 chatroom 範本為例,編譯不同平台的執行檔。
- Clone the repo.
git clone https://github.com/libp2p/go-libp2p cd go-libp2p/examples/pubsub/chat
- Build the binary
go build . # Builds executables ./chat # 執行
- 讓執行檔放在特定位置並取特定名字
go build -o build/hello .
上面的程式碼會 build 出叫 hello 的執行檔,並將他放在叫 build 的資料夾中。
- 如果希望執行檔被存在
$GOPATH/bin
,則要使用go install
go install .
可以用下面指令查看目前
$GOPATH/bin
在哪:echo $GOPATH/bin
- Go 方便的地方之一就是可以為其他 OS 與 architecture 編譯執行檔,用下面指令查看可以可以 build 執行檔的 OS 與 architecture :
go tool dist list
- 用下列指令 build 後,資料夾下會出現屬於 Windows 64-bit 的執行檔
chat.exe
:GOOS=windows GOARCH=amd64 go build .
- 可以使用
go env
查看目前的環境變數,裡面就包括預設的你的系統的 GOOS 與 GOARCH。