g是一個Linux、macOS、Windows下的命令行工具,能夠提供一個便捷的多版本go環境的管理和切換。git
Linux/macOS(適用於bash、zsh)github
# 建議安裝前清空`GOROOT`、`GOBIN`等環境變量
$ wget -qO- https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ echo "unalias g" >> ~/.bashrc # 可選。若其餘程序(如'git')使用了'g'做爲別名。
$ source ~/.bashrc # 或者 source ~/.zshrc
複製代碼
下載對應平臺的二進制壓縮包。golang
將壓縮包解壓至PATH
環境變量目錄下,如/usr/local/bin
。shell
編輯shell環境配置文件(~/.bashrc
、~/.zshrc
...)bash
$ cat>>~/.bashrc<<EOF
export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/go/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF
複製代碼
查詢當前可供安裝的stable
狀態的go版本工具
$ g ls-remote stable
1.11.9
1.12.4
複製代碼
安裝目標go版本1.12.4
ui
$ g install 1.12.4
Installed successfully
$ go version
go version go1.12.4 darwin/amd64
複製代碼
查詢已安裝的go版本google
$ g ls
1.12.4
複製代碼
查詢可供安裝的全部go版本spa
$ g ls-remote
1
1.2.2
1.3
1.3.1
... // 省略若干版本
1.11.7
1.11.8
1.11.9
1.12
1.12.1
1.12.2
1.12.3
1.12.4
複製代碼
安裝目標go版本1.11.9
命令行
$ g install 1.11.9
Installed successfully
$ go version
go version go1.11.9 darwin/amd64
複製代碼
切換到另外一個已安裝的go版本
$ g ls
1.11.9
1.12.4
$ g use 1.12.4
go version go1.12.4 darwin/amd64
複製代碼
卸載一個已安裝的go版本
g uninstall 1.11.9
Uninstall successfully
複製代碼
環境變量G_MIRROR
有什麼做用?
因爲中國大陸沒法自由訪問Golang官網,致使查詢及下載go版本都變得困難,所以能夠經過該環境變量指定一個鏡像站點(如https://golang.google.cn/dl/
),g將從該站點查詢、下載可用的go版本。
支持源代碼編譯安裝嗎?
不支持