安裝go后,我們一般會設(shè)置好GOROOT和GOPATH環(huán)境變量,但是有時(shí)候因?yàn)閷?shí)際工作中項(xiàng)目結(jié)構(gòu)復(fù)雜,設(shè)置的GOPATH不能滿足需要時(shí),可以在cmd設(shè)置臨時(shí)的GOPATH;
很多IDE,比如IDEA也可以設(shè)置全局的GOPATH和臨時(shí)的GOPATH,但是編譯可執(zhí)行文件可能有些復(fù)雜或者通過IDE編譯或者運(yùn)行會出現(xiàn)app.conf配置文件加載不到的情況,這個(gè)坑我遇到過。
故通過命令的方式生成go的可執(zhí)行文件。
- 比如項(xiàng)目結(jié)構(gòu)是這樣:
由于依賴了github.com里的beego,所以要加github.com的上級目錄到GOPATH。
1. 打開cmd命令窗口,用命令設(shè)置要編譯包以及依賴包所在路徑的環(huán)境變量,即GOPATH(該設(shè)置只對該窗口生效):
set GOPATH=E:ProgrammerRouteGoDevelopment
2.然后設(shè)置操作系統(tǒng):
- 生成windows的可執(zhí)行文件:
set GOOS=windows
- 生成linux的可執(zhí)行文件:
set GOOS=linux
3.然后在src目錄下執(zhí)行g(shù)o install
go install sayHello
沒有報(bào)錯(cuò)的話,會在GOPATH下生成bin和pkg目錄,可執(zhí)行文件在bin目錄下,如圖:
利用beego1.7.0之后的版本,用IDE運(yùn)行g(shù)o工程也加載不到app.conf的配置,利用go install也加載不到;
用go run main.go可以加載app.conf,用bee工具也可以加載到。