golang多版本管理器

g是一個Linux、macOS、Windows下的命令行工具,能夠提供一個便捷的多版本go環境的管理和切換。git

特性

  • 支持列出可供安裝的go版本號
  • 支持列出已安裝的go版本號
  • 支持在本地安裝多個go版本
  • 支持卸載已安裝的go版本
  • 支持在已安裝的go版本之間自由切換

安裝

自動化安裝

  • 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

手動安裝

  • 下載對應平臺的二進制壓縮包
  • 將壓縮包解壓至PATH環境變量目錄下,如/usr/local/bin
  • 編輯shell環境配置文件(~/.bashrc~/.zshrc...)golang

    $ 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版本shell

$ g ls-remote stable
1.11.9
1.12.4

安裝目標go版本1.12.4bash

$ g install 1.12.4
Installed successfully
$ go version
go version go1.12.4 darwin/amd64

查詢已安裝的go版本工具

$ g ls
1.12.4

查詢可供安裝的全部go版本google

$ 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版本code

$ g ls
1.11.9
1.12.4
$ g use 1.12.4
go version go1.12.4 darwin/amd64

卸載一個已安裝的go版本rem

g uninstall 1.11.9
Uninstall successfully

FAQ

  • 環境變量G_MIRROR有什麼做用?

    因爲中國大陸沒法自由訪問Golang官網,致使查詢及下載go版本都變得困難,所以能夠經過該環境變量指定一個鏡像站點(如https://golang.google.cn/dl/),g將從該站點查詢、下載可用的go版本。

  • 支持源代碼編譯安裝嗎?

    不支持

鳴謝

感謝nvmnrvm等工具提供的寶貴思路。

相關文章
相關標籤/搜索