golang 是編譯型語言,在打包部署的時候需要編譯成對應的目標
編譯到服務器(比如Linux服務器),需要在機器上安裝MingGW c++ 編譯環境
常見的設備與架構對應表格。
GOOS | GOARCH |
---|---|
aix | ppc64 |
android | 386 |
android | amd64 |
android | arm |
android | arm64 |
darwin | 386 |
darwin | amd64 |
darwin | arm |
darwin | arm64 |
dragonfly | amd64 |
freebsd | 386 |
freebsd | amd64 |
freebsd | arm |
illumos | amd64 |
js | wasm |
linux | 386 |
linux | amd64 |
linux | arm |
linux | arm64 |
linux | ppc64 |
linux | ppc64le |
linux | mips |
linux | mipsle |
linux | mips64 |
linux | mips64le |
linux | s390x |
netbsd | 386 |
netbsd | amd64 |
netbsd | arm |
openbsd | 386 |
openbsd | amd64 |
openbsd | arm |
openbsd | arm64 |
plan9 | 386 |
plan9 | amd64 |
plan9 | arm |
solaris | amd64 |
windows | 386 |
windows | amd64 |
windows 編譯 Linux,mac 可執行文件
SET CGO_ENABLED=0
SET GOOS=windows/linux/darwin[這裏填商標中對應的<GOOS>]
SET GOARCH=amd64
go build -o demo.exe main.go
Linux 編譯 Windows,mac 可執行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go
MAC 編譯windows,Linux 可執行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go