Win10_VSCode_Go環境配置
一、環境配置
1.1 安裝Golang
鏈接:golang.google.cn/dl/
下載完成運行,安裝到指定路徑
檢查:在cmd或者powershell上,輸入命令
shell
復制代碼
go version
1.2 配置GOPATH環境變量
GOPATH
是之后項目下載依賴包的存放路徑。Go 語言目前都是使用 Go Modules 管理依賴,在使用 Go Modules
時,Go 會把下載的依賴包存儲在 GOPATHpkgmod
中
在安裝 Go1.20.3
時已經自動配置好 GOPATH
了,但是默認情況下在C盤,所以之后下載的外部依賴包也就存放在C盤。我們可以更改 GOPATH
到其他位置
GOPATH目錄一般為:
1、bin 存放編譯生成的二進制文件。比如 執行命令
go get Github.com/google/gops
,bin目錄會生成 gops 的二進制文件。2、pkg 其中pkg下面以下三個文件夾。
- XX_amd64: 其中 XX 是目標操作系統,比如 mac 系統對應的是darwin_amd64, linux 系統對應的是 linux_amd64,存放的是.a結尾的文件。
- mod: 當開啟go Modules 模式下,go get命令緩存下依賴包存放的位置
- sumdb: go get命令緩存下載的checksum數據存放的位
3、src 存放golang項目代碼的位置
GOPATH
模式下沒有版本控制的概念,在執行 go get 的時候,獲取的永遠是最新的依賴包,并下載到 GOPATH/src
目錄下,如果你有兩個工程依賴一個包的 v1 和 v2 版本,則會發生沖突,因為 GOPATH
模式下兩個工程內依賴的導入路徑都是一樣的,因此兩個工程獲取的都是 v2 版本。
1.3 Go Modules 模式
Go Modules 發布于 Go1.11,成長于 Go1.12,豐富于 Go1.13,正式于 Go1.14 推薦在生產上使用。
在 Go Modules 模式下,所有依賴的包存放在 GOPATH/pkg/mod
目錄下,所有第三方二進制可執行文件放在 GOPATH/bin
目錄下,且工程項目可以放在 GOPATH/src
路徑之外,但要求項目中需要有 go.mod 文件(該文件可以通過 go mod init 命令初始化得到)。
在有了 Go Modules 之后,GOPATH 和 Go Modules 就分別負責不同的職責,共同為 Golang 項目服務:
- GOPATH 用來存放我們從網上拉取的第三方依賴包。
- Go Modules 用來存放我們自己的 Golang 項目文件,當自己的項目需要依賴第三方的包的時候,我們通過 Go Modules 目錄下的一個 go.mod 文件來引用
GOPATH/pkg/mod
文件夾下的第三方依賴即可。
這樣一來,既解決了原來只能局限在 GOPATH/src
下進行編程的問題,也解決了第三方依賴包難以管理和重復依賴占用磁盤空間的問題。總而言之,在引入 Go Modules 之后,我們不會直接在 GOPATH 目錄下進行編程,而是把 GOPATH 作為一個第三方依賴包的倉庫,我們真正的工作空間在 Go Modules 目錄下。
開啟 Go Modules 功能的命令如下:
shell
復制代碼
go env -w GO111MODULE=on
2.3 GOPROXY
GOPROXY 主要用于設置 Go 模塊代理,其作用是使 Go 在后續拉取模塊版本時直接通過鏡像站點來快速拉取。
GOPROXY 的默認值是 https://proxy.golang.org,direct
,在國內無法訪問。
因此,這里推薦使用七牛云的代理:goproxy.cn/
設置七牛云代理的命令如下:
shell
復制代碼
go env -w GOPROXY=https://goproxy.cn,direct
“direct” 是一個特殊指示符,用于指示 Go 回源到模塊版本的源地址去抓取(比如 GitHub 等),場景如下:當值列表中上一個 Go 模塊代理返回 404 或 410 錯誤時,Go 自動嘗試列表中的下一個,遇見 “direct” 時回源,也就是回到源地址去抓取,而遇見 EOF 時終止并拋出類似 “invalid version: unknown revision…” 的錯誤。
最終的環境配置如下:
shell
復制代碼
Microsoft windows [版本 10.0.19045.2965] (c) Microsoft Corporation。保留所有權利。 C:Users86159>go env set GO111MODULE=on set GOARCH=amd64 set GOBIN=D:\Go\bin set GOCACHE=C:Users86159AppDataLocalgo-build set GOENV=C:Users86159AppDataRoaminggoenv set GOEXE=.exe set GOEXPERIMENT= set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=D:GOPATHpkgmod set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=D:GOPATH set GOPRIVATE= set GOPROXY=https://goproxy.cn,direct set GOROOT=D:Go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=D:Gopkgtoolwindows_amd64 set GOVCS= set GOVERSION=go1.20.4 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=-O2 -g set CGO_CPPFLAGS= set CGO_CXXFLAGS=-O2 -g set CGO_FFLAGS=-O2 -g set CGO_LDFLAGS=-O2 -g set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:Users86159AppDataLocalTempgo-build12665588=/tmp/go-build -gno-record-gcc-switches
二、VSCode
-
安裝VSCode,鏈接:code.visualstudio.com
-
VSCode中插件安裝
快捷鍵CTRL+shift+p,打開
找到并點擊 Go:install/Update Tools
安裝成功:
參考博客:
blog.csdn.net/luosisan/ar…
blog.csdn.net/qq_42815188…
blog.csdn.net/rouyiou/art…
作者:橘子292
鏈接:https://juejin.cn/post/7233605431494115389
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。