前言
本人安裝Window系統下的Go語言的相關信息如下:
Go語言版本:go1.14.6
安裝包:go1.14.6.windows-amd64.msi
安裝路徑:D:\Program Files\Go
Win10系統下配置Go語言環境變量
-
打開Win10下的環境變量設置界面
右鍵我的電腦->屬性->高級系統設置->環境變量。
它有用戶變量和系統變量。兩者的區別是用戶變量下配置只對當前用戶有效,系統變量下配置對所有用戶有效。本人建議在用戶變量下配置。
- 配置 GOROOT
選擇<新建>按鈕。
變量名:GOROOT
變量值:D:\Program Files\Go
- 配置 path
找到path(如果不存在,則新建),點擊編輯—>新建,輸入:%GOROOT%\bin
保存成功后,按下 Windows+X−>命令提示符,打開DOS命令行,輸入:go env
如果能夠成功打印出Go語言的相關環境變量,即表示配置成功。例如,打印出Go的版本信息:
輸入: go version
go version go1.14.6 windows/amd64
- 配置 GOPATH
GOPATH 環境變量是Go項目的工作目錄。如果你的項目路徑是在:D:\go_work\go目錄下進行的,go目錄下一般有以下三個子目錄,分別是:src、pkg 和 bin。
變量名:GOPATH
變量值:D:\go_work\go
- 配置 GOPROXY
Go默認的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。這個goproxy在使用go get安裝第三方庫的時候會報錯,導致無法下載成功(原因你懂的)。所以必須要修改一下。
變量名:GOPROXY
變量值:https://goproxy.cn,direct 或者修改為:
GOPROXY的值還可以修改為:https://goproxy.io,direct 或 https://mirrors.aliyun.com/goproxy
- 配置 GO111MODULE
GO111MODULE環境變量主要是用來開啟或關閉模塊支持的。
它有三個可選值:off、on、auto,默認值是 auto。
GO111MODULE=off無模塊支持,go 會從 GOPATH 和 vendor 文件夾尋找包。GO111MODULE=on模塊支持,go 會忽略 GOPATH 和 vendor 文件夾,只根據go.mod下載依賴。GO111MODULE=auto在$GOPATH/src外面且根目錄有go.mod文件時,開啟模塊支持。
在使用模塊的時候,GOPATH 是無意義的,不過它還是會把下載的依賴儲存在 $GOPATH/src/mod 中,也會把 go install 的結果放在 $GOPATH/bin 中。
可以在DOS命令行下直接使用 go env -w 進行設置。
這個環境變量是在Go-1.11版本引入的,在go1.11版本前,想要對go語言包進行管理,只能依賴第三方庫實現,比如Vendor,GoVendor,GoDep,Dep,Glide等等。由於我安裝的Go語言是1.14版本的,所以選擇開啟模塊支持,設置如下:
go env -w GO111MODULE=on
<說明> 也可以使用上面的方法設置環境變量的值,但是個人覺得這種命令行設置的方式更方便一些。可以用 go env -u 恢復其默認設置。例如,恢復GO111MODULE的默認值,可以使用:
go env -u GO111MODULE
<備注> 從 Go 1.11 開始 Go 語言開始支持 Go modules 來解決大家長久以來詬病的Go語言依賴包管理問題。go module 是Go語言從 1.11 版本之后官方推出的版本管理工具,並且從 Go1.13 版本開始,go module 成為了Go語言默認的依賴管理工具。
在Go語言 1.12 版本之前,要啟用 go module 工具首先要設置環境變量 GO111MODULE,不過在Go語言 1.13 及以后的版本則不再需要設置該環境變量。
【2021.5.8號修訂】從 Go 1.16版本開始,默認啟用modules,這在1.15的時候已經預告過了。現在GO111MODULE的默認值為on。在Go 1.17版本中這個環境變量將會被刪除。
參考
