GO?env環(huán)境變量配置命令使用
Go env環(huán)境變量配置
set GO111MODULE=on # 編譯目標(biāo)的指令集架構(gòu)為 64位 x86架構(gòu) set GOARCH=amd64 # 存放go編譯安裝可執(zhí)行二進(jìn)制文件的地方 set GOBIN=A:\Go\bin set GOCACHE=C:\Users\11540\AppData\Local\go-build set GOENV=C:\Users\11540\AppData\Roaming\go\env set GOEXE=.exe set GOEXPERIMENT= set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=A:\goData\go\pkg\mod set GONOPROXY= set GONOSUMDB= # 編譯目標(biāo)系統(tǒng) set GOOS=windows set GOPATH=A:\goData set GOPRIVATE= set GOPROXY=https://goproxy.cn,direct set GOROOT=A:\Go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=A:\Go\pkg\tool\windows_amd64 set GOVCS= set GOVERSION=go1.19 set GCCGO=gccgo set GOAMD64=v1 set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=NUL set GOWORK= set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\11540\AppData\Local\Temp\go-build1999809709=/tmp/go-build -gno-record-gcc-switches
可以用 go env 查看當(dāng)前的go環(huán)境變量,如下圖所示:

GO111MODULE
go module是go官方自帶的go依賴管理庫(kù),在1.13版本正式推薦使用。默認(rèn)值為空,即go判斷開(kāi)不開(kāi)啟module的依據(jù)是看當(dāng)前項(xiàng)目的根目錄下有沒(méi)有g(shù)o.mod文件,當(dāng)然我們也可手動(dòng)更改為 on(全部開(kāi)啟)/off(全部不開(kāi)啟,不建議):
go env -w GO111MODULE=on
GOPROXY
GOPROXY 就是設(shè)置Golang的全局代理。在下載依賴包的時(shí)候,一般是訪問(wèn)github的倉(cāng)庫(kù),國(guó)內(nèi)的環(huán)境很容易被墻,所以最好設(shè)置一個(gè)速度快的代理。Go在此版本中GOPROXY的默認(rèn)值為https://proxy.golang.org,國(guó)內(nèi)是無(wú)法訪問(wèn)的。因此,這里推薦使用七牛云的代理https://goproxy.cn
go env -w GOPROXY=https://goproxy.cn,direct
GOPATH
在go 1.11版本之前,GOPATH主要用于指定我們的開(kāi)發(fā)工作區(qū)(Workspace),是存放源代碼、測(cè)試文件、庫(kù)靜態(tài)文件、可執(zhí)行文件的目錄。但是自從go 1.11引入module功能之后,GOPATH的作用就不大了。目前在go module模式下,使用go get下載的外部依賴模塊就位于$GOPATH/pkg/mod目錄下。而因?yàn)?code>GOPATH的默認(rèn)值為C:\Users\%UserName%\go,所以下載的外部依賴包也就存放在C盤下面。如果怕之后安裝的依賴包太多占用C盤空間的話,我們可以更改GOPATH到其他位置,比如設(shè)置為go的安裝目錄下面:
go env -w GOPATH=D:\Golang1.19\gopath
GOMODCACHE
即存儲(chǔ)go下載的外部依賴模塊文件的目錄,默認(rèn)值為$GOPATH/pkg/mod,因此我們一般只需要更改GOPATH的值即可,此環(huán)境變量的值就會(huì)自動(dòng)做出相應(yīng)的變動(dòng)。當(dāng)然你也可以設(shè)置為其他值。
GOCACHE
此目錄存放go項(xiàng)目在構(gòu)建過(guò)程中產(chǎn)生的緩存,默認(rèn)值為C:\Users\%UserName%\AppData\Local\go-build,我們也可以更改為其他值,比如設(shè)置到GOPATH目錄下:
go env -w GOCACHE=D:\Golang1.19\gopath\go-build-cache
GOENV
此目錄存放go環(huán)境變量的值的配置文件,默認(rèn)值為C:\Users\%UserName%\AppData\Roaming\go\env,此值一般不需要更改,并且也不能通過(guò)go env的方式來(lái)更改此變量值。我們可以來(lái)到此目錄下,發(fā)現(xiàn)有一個(gè)env文件,打開(kāi)就可以看到文件的內(nèi)容就是我們之前自定義過(guò)的go環(huán)境變量的值:

GOROOT
即go語(yǔ)言的安裝目錄,此值切記不要修改,保持默認(rèn)值即可。如果亂改了,然后發(fā)現(xiàn)無(wú)法在控制臺(tái)中使用go命令了,可以打開(kāi)上一條中提到的env配置文件,刪除自己自定義的值,即可恢復(fù)GOROOT為默認(rèn)值。
其他相關(guān)命令
// 打印指定go環(huán)境變量的值 go env $Variable_Name // 將指定go環(huán)境變量的值重設(shè)為默認(rèn)值 go env -u $Variable_Name
關(guān)于系統(tǒng)環(huán)境變量
在go語(yǔ)言的安裝過(guò)程中,安裝程序會(huì)自動(dòng)將$Go_Installation_Directory\bin加入到系統(tǒng)環(huán)境變量的Path里面,比如D:\Golang1.19\bin,這樣就方便我們可以直接在CMD里面使用go的相關(guān)命令。除此之外,我們一般就不需要在系統(tǒng)環(huán)境變量里為go配置任何東西了,因?yàn)槠渌囊恍ゞo環(huán)境變量都可以通過(guò)go env來(lái)配置。
參考文檔:
Go語(yǔ)言GOPATH詳解(Go語(yǔ)言工作目錄)
以上就是GO env環(huán)境變量配置的詳細(xì)內(nèi)容,更多關(guān)于GO env環(huán)境變量配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- go不同業(yè)務(wù)環(huán)境變量的設(shè)置方式
- 獲取Golang環(huán)境變量的三種方式小結(jié)
- Go 使用os包操作環(huán)境變量的方法
- golang 項(xiàng)目打包部署環(huán)境變量設(shè)置方法
- go env環(huán)境變量配置的使用
- 簡(jiǎn)單四步快速集成go環(huán)境變量
- Windows上安裝Go并配置環(huán)境變量(圖文步驟)
- go語(yǔ)言環(huán)境變量設(shè)置全過(guò)程
- Go獲取與設(shè)置環(huán)境變量的方法詳解
- go項(xiàng)目中環(huán)境變量的配置
- Go 使用環(huán)境變量的實(shí)現(xiàn)小結(jié)
相關(guān)文章
GoLang中Json?Tag用法實(shí)例總結(jié)
這篇文章主要給大家介紹了關(guān)于GoLang中Json?Tag用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
Golang項(xiàng)目搭配nginx部署反向代理負(fù)載均衡講解
這篇文章主要為大家介紹了Golang項(xiàng)目搭配nginx部署正反向代理負(fù)載均衡講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
Go語(yǔ)言開(kāi)發(fā)編程規(guī)范命令風(fēng)格代碼格式
這篇文章主要為大家介紹了Go語(yǔ)言開(kāi)發(fā)編程規(guī)范命令風(fēng)格代碼格式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Go語(yǔ)言學(xué)習(xí)函數(shù)+結(jié)構(gòu)體+方法+接口
這篇文章主要介紹了Go語(yǔ)言學(xué)習(xí)函數(shù)+結(jié)構(gòu)體+方法+接口,文章圍繞主題的相關(guān)資料展開(kāi)詳細(xì)的文章說(shuō)明,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
goroutine?泄漏和避免泄漏實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了goroutine?泄漏和避免泄漏實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
go語(yǔ)言-在mac下brew升級(jí)golang
這篇文章主要介紹了go語(yǔ)言-在mac下brew升級(jí)golang,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
Go語(yǔ)言中g(shù)o?mod?vendor使用方法
go mod vendor的功能是將新增的依賴包自動(dòng)寫入當(dāng)前項(xiàng)目的 vendor目錄,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中g(shù)o?mod?vendor使用的相關(guān)資料,需要的朋友可以參考下2022-10-10
Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo)
這篇文章主要為大家介紹了Go語(yǔ)言題解LeetCode724尋找數(shù)組的中心下標(biāo),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12

