voidint/g g 是一個 Linux、macOS、Windows 下的命令行工具,可以提供一個便捷的多版本 go 環境的管理和切換。 在這裡我們介紹一下在 windows 下的使用,涉及到我們開發所需要用到的 幾個 go 項目層環境變數它們分別是 GOPATH,GOPROXY,GO111MOD ...
voidint/g
g 是一個 Linux、macOS、Windows 下的命令行工具,可以提供一個便捷的多版本 go 環境的管理和切換。
在這裡我們介紹一下在 windows 下的使用,涉及到我們開發所需要用到的 幾個 go 項目層環境變數它們分別是 GOPATH,GOPROXY,GO111MODULE, 需要先在主頁->高級系統設置->環境變數 中先設置好。
GOPATH
在GOPATH目錄下,一般存放有三個目錄
- src:源代碼所在目錄
- pkg:一般存放
go mod tidy
下載好的庫緩存文件。mod,windows_amd64 - bin:Go 程式可執行文件目錄,如 vscode 的各項組件 gopls,wire,goimports
而我們的項目一般保持 D:\Code\go\src\github.com\aszeta\novelsvc
這種格式方便管理,github.com 是代碼平臺,後面接一個作者,最後才是項目名稱。
GOPROXY
這個是 go 的鏡像代理設置,因為國外訪問有時候並不會很穩定。那常見的幾個配置是:
-
https://goproxy.io,direct
官方全球代理
-
https://mirrors.aliyun.com/goproxy,direct
阿裡雲
-
https://goproxy.cn,direct
七牛雲
GO111MODULE
我們可以根據不同的場景開關 go mod:
GO111MODULE = on
, GO 將會強制項目使用 go mod,需要在當前 GOPATH 的 src 目錄下才能運行代碼go run main.go
GO111MODULE = off
,我們則不必一定需要在 GOPATH src 下麵放置我們的代碼。
安裝 g 命令下環境變數
-
創建目錄
mkdir ~/.g/bin
-
下載 release的 windows 版本的二進位壓縮包, 解壓之後放到~/.g/bin 目錄下
-
使用編輯器在命令行下打開或者創建路徑為
code $profile
,這裡我們可以使用echo $profile
然後複製路徑下來在其他的編輯器創建編輯。 -
編輯器在當前文本中寫入 powershell 配置文件
$env:GOROOT="$HOME\.g\go" $env:Path=-join("$HOME\.g\bin;", "$env:GOROOT\bin;", "$env:Path")
-
重新打開一個命令行,運行
g
或者gvm
,則會出現使用說明。
關於 g 使用
查看當前可以安裝的 go 版本
$ g ls-remote stable
1.13.15
1.14.7
安裝指定的 go 版本
$ g install 1.14.7
Downloading 100% |███████████████| (119/119 MB, 9.939 MB/s) [12s:0s]
Computing checksum with SHA256
Checksums matched
Now using go1.14.7
查看所有本地安裝過的 go 版本
$ g ls
1.7.6
1.11.13
1.12.17
1.13.15
1.14.6
* 1.14.7
切換到另一個已經安裝的 go 版本
$ g use 1.14.6
go version go1.14.6 darwin/amd64
卸載一個已安裝的 go 版本
$ g uninstall 1.14.7
Uninstalled go1.14.7
更新 g 工具的版本
$ g update
A new version of g(v1.2.2) is available
Downloading 100% |███████████████| (3.7/3.7 MB, 2.358 MB/s)
Computing checksum with SHA256
Checksums matched
Update completed
通過上述的一系列操作步驟,我們已經可以隨意切換 go 版本,不用擔心因工作版本與想體驗新版本 Go 特性,如泛型頻繁下載卸載帶來的苦惱了。