GOPATH為項(xiàng)目目錄
GOROOT為安裝目錄
path中設(shè)置好安裝目錄到bin目錄
補(bǔ)充:Golang 環(huán)境變量須知
無(wú)論你是使用 Windows、Linux 還是 Mac 操作系統(tǒng)來(lái)開(kāi)發(fā) Go 應(yīng)用程序,在安裝好 Go 安裝語(yǔ)言開(kāi)發(fā)工具之后,都必須配置好 Go 語(yǔ)言開(kāi)發(fā)所要求的 環(huán)境變量,才算初步完成 Go 開(kāi)發(fā)環(huán)境的搭建。
但對(duì)于一些初學(xué)者來(lái)說(shuō),可能不太明白 Go 語(yǔ)言中常用的環(huán)境變量的作用以及如何設(shè)置環(huán)境變量,下面在 Windows 環(huán)境下來(lái)講講。
安裝完 Go 后,我們可以使用 go env 命令查看當(dāng)前 Go 的所有默認(rèn)環(huán)境變量。
go env set GO111MODULE= set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\dablelv\AppData\Local\go-build set GOENV=C:\Users\dablelv\AppData\Roaming\go\env set GOEXE=.exe set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=D:\go\pkg\mod set GONOPROXY=git.code.oa.com,git.woa.com set GONOSUMDB=git.code.oa.com,git.woa.com set GOOS=windows set GOPATH=D:\go set GOPRIVATE=git.code.oa.com,git.woa.com set GOPROXY=https://proxy.golang.org,direct set GOROOT=C:\Program Files\Go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=D:\code\kknock\KnockKnock\application\group_srv\go.mod 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 -fmessage-length=0 -fdebug-prefix-map=C:\Users\dablelv\AppData\Local\Temp\go-build853783354=/tmp/go-build -gno-record-gcc-switches
也可以查到指定環(huán)境變量的值。
go env GOROOT C:\Program Files\Go
Go 語(yǔ)言中可以設(shè)置的環(huán)境變量有很多,每個(gè)環(huán)境變量都有其作用,不過(guò)很多我們可能都用不到,一般需要了解下面幾個(gè)最常用的就夠了。
GOROOT GOPATH GO111MODULE GOPROXY GOPRIVATE GOBIN GOOS GOARCH
關(guān)于環(huán)境變量的詳細(xì)說(shuō)明,可使用命令go help environment查詢。
GOROOT 表示 Go 語(yǔ)言的安裝目錄。
GOROOT 的作用是用來(lái)索引 Go 語(yǔ)言的安裝目錄下的相關(guān)資源,比如 bin 目錄的工具(如 go 命令),src 目錄下的源碼等。
GOPATH 用于指定我們的開(kāi)發(fā)工作區(qū),可以有多個(gè)。
按照 Go 開(kāi)發(fā)規(guī)范,GOPATH 目錄下一般分為三個(gè)子目錄 src,pkg,bin。
src 目錄存放我們需要開(kāi)發(fā)的項(xiàng)目源碼,pkg 存放依賴的包和編譯后的靜態(tài)庫(kù)文件,bin 放源代碼編譯后臺(tái)的可執(zhí)行文件。
下面是一個(gè) GOPATH 目錄示例布局。
GOPATH=/home/user/go /home/user/go/ src/ foo/ bar/ (go code in package bar) x.go quux/ (go code in package main) y.go bin/ quux (installed command) pkg/ linux_amd64/ foo/ bar.a (installed package object)
注意:
(1)如果 GOPATH 未顯示設(shè)置,則默認(rèn)為用戶主目錄中名為 go 的子目錄。Unix 下為$HOME/go,Windows 下為%USERPROFILE%\go(一般為C:\Users\YourName\go),Plan 9 下為$home/go。
(2)使用模塊時(shí),GOPATH 不再用于解析導(dǎo)入,但是它仍然用于存儲(chǔ)下載的源代碼(在GOPATH/pkg/mod中)和編譯的命令(在GOPATH/bin中)。
(3)使用命令go help gopath可查看 GOPATH 詳細(xì)說(shuō)明。
在 go1.11 的時(shí)候推出了這個(gè) go modules 來(lái)解決依賴管理的問(wèn)題。
通過(guò)變量 GO111MODULE 來(lái)控制 Go Module 的開(kāi)啟和關(guān)閉,取值 off、on 或 auto。
從 Go 1.13 開(kāi)始,Go Module 作為 Golang 中的標(biāo)準(zhǔn)包管理器。
go get 下載依賴時(shí)使用的代理地址列表,使用逗號(hào) (,) 或豎杠 (|) 分隔。
當(dāng)用 go 命令查找依賴模塊時(shí),它會(huì)按順序訪問(wèn) GOPROXY 列表中的每個(gè)代理,直到收到成功的響應(yīng)或出現(xiàn)終端錯(cuò)誤。
GOPROXY 中可能會(huì)存在兩個(gè)關(guān)鍵字來(lái)代替代理URL:
off:不允許從任何源下載依賴的模塊
direct: 直接從版本控制存儲(chǔ)庫(kù)下載,而不是使用模塊代理
GOPROXY 缺省值為https://proxy.golang.org,direct。
go get 通過(guò)代理服務(wù)拉取倉(cāng)庫(kù)時(shí),因?yàn)榇矸?wù)不可能訪問(wèn)到私有倉(cāng)庫(kù)(一般為企業(yè)內(nèi)部代碼管理平臺(tái)),會(huì)出現(xiàn) 404 錯(cuò)誤。
go1.13 版本提供了一個(gè)方便的解決方案:GOPRIVATE 環(huán)境變量。
如:
setx GOPRIVATE=gitlab.com,git.woa.com
用于存儲(chǔ)我們使用go install命令安裝的程序。
如果沒(méi)有設(shè)置 GOBIN,程序一般會(huì)安裝到為GOPATH/bin目錄。
當(dāng)前的操作系統(tǒng)。例如 linux、darwin、windows、netbsd、freebsd、openbsd、solaris、plan9 等。
注意 mac os對(duì)應(yīng)的值是 darwin。
表示 CPU 架構(gòu)。如 amd64、386、arm、ppc64 等。
環(huán)境變量的設(shè)置,可以影響我們開(kāi)發(fā)和編譯項(xiàng)目的過(guò)程與結(jié)果,所以還是很有必要了解一下的。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:吐魯番 銅川 蘭州 梅河口 汕頭 欽州 重慶 雞西
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang 在windows中設(shè)置環(huán)境變量的操作》,本文關(guān)鍵詞 golang,在,windows,中,設(shè)置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。