GO項目編譯上線


一、windows服務器先本地編譯

go build main.go

編譯后會在同級目錄生成可執行文件

./main.exe

二、linux服務器

2.1 服務器上去編譯
安裝go,配置GOPATH

第一步,把服務器上配置成本地一樣的環境

第二部,包括項目里面所依賴的包

第三步,項目源碼拷貝到與服務器,服務器上編譯

go build main.go

編譯后會在同級目錄生成可執行文件

./main

執行。

如果想讓項目在后台執行:執行 

nohup ./main &

這樣就可以程序在后台運行了。

注意:發現如果按照官方給的安裝方法只指定GOROOT的路徑,於是自己新建一個目錄gopath 作為GOPATH 的目錄,並且設置環境變量(exportGOPATH=/newhome/go/gopath)。

在gopath下新建3個文件夾(模仿windows GOPATH的方式,也是go語言的工作環境目錄)分別為 src、pkg、bin目錄。

2.2 本地編譯

第一步:cmd控制台到main.go文件目錄下,執行下面的操作。

set GOARCH=amd64

set GOOS=linux

go build main.go

會生成一個沒有后綴的二進制文件

main

第二步:將該文件放入linux系統某個文件夾下

rz main

第三步:賦予權限

chmod 777 main

最后執行 

./main

如果想讓項目在后台執行:執行 

nohup ./main & 

這樣就可以程序在后台運行了。

 

Mac 下編譯 Linux 和 Windows 64位可執行程序

1 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Linux 下編譯 Mac 和 Windows 64位可執行程序

1 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Windows 下編譯 Mac 和 Linux 64位可執行程序

復制代碼
1 SET CGO_ENABLED=0
2 SET GOOS=darwin
3 SET GOARCH=amd64
4 go build main.go
5 
6 SET CGO_ENABLED=0
7 SET GOOS=linux
8 SET GOARCH=amd64
9 go build main.go
復制代碼

GOOS:目標平台的操作系統(darwin、freebsd、linux、windows)
GOARCH:目標平台的體系架構(386、amd64、arm)
交叉編譯不支持 CGO 所以要禁用它

上面的命令編譯 64 位可執行程序,你當然應該也會使用 386 編譯 32 位可執行程序
很多博客都提到要先增加對其它平台的支持,但是我跳過那一步,上面所列的命令也都能成功,且得到我想要的結果,可見那一步應該是非必須的,或是我所使用的 Go 版本已默認支持所有平台。

結束!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM