一、goup介绍
goup是一款极简的golang版本管理工具。只要几行命令,即可实现golang版本管理。
源码地址:GitHub - owenthereal/goup: Elegant Go installer
二、goup安装
goup的github官网提供了几种安装方式
1. shell安装:
curl -sSf https://raw.githubusercontent.com/owenthereal/goup/master/install.sh | sh
2. go安装
go install github.com/owenthereal/goup/cmd/goup@latest
3. 安装包方式安装
下载地址:Releases · owenthereal/goup · GitHub
下载对应的版本,然后把文件放在/usr/local/bin目录下,并添加可执行权限
chmod +x /usr/local/bin/goup
三种安装方式任由你选择。
三、goup使用
1. 添加环境变量:
# liunx系统
echo 'export GOROOT="$HOME/.go/current/"
export GOPATH="$HOME/.go/GOPATH/"
export PATH=$PATH:${GOPATH}bin/
export GOUP_GO_HOST=golang.google.cn
' >> ~/.bashrc
# mac zsh
echo 'export GOROOT="$HOME/.go/current/"
export GOPATH="$HOME/.go/GOPATH/"
export PATH=$PATH:${GOPATH}bin/
export GOUP_GO_HOST=golang.google.cn
' >> ~/.zshrc
# mac sh
echo 'export PATH="export GOROOT="$HOME/.go/current/"
export GOPATH="$HOME/.go/GOPATH/"
export PATH=$PATH:${GOPATH}bin/
export GOUP_GO_HOST=golang.google.cn
' >> ~/.bashrc
# 配置生效
source ~/.bashrc
# 或者
source ~/.zshrc
2. 常用命令
goup --help 查看帮助文档
goup list 查看已经安装到本地的go版本
goup set 切换本地已经安装的go版本
goup install 安装go版本到本地并切换到新安装的版本
goup search 搜索可安装的go版本
goup remove 删除已经安装的go版本
goup upgrade 升级goup
goup version 查看当前goup版本
示例:
# 查看帮助文档:
root@localhost ~ $ goup --help
The Go installer
Usage:
goup [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
install Install Go with a version
list List all installed Go
remove Remove Go with a version
search Search Go versions to install
set Set the default Go version
upgrade Upgrade goup
version Show goup version
Flags:
-h, --help help for goup
-v, --verbose Verbose
Use "goup [command] --help" for more information about a command.
# 查看已经安装的go版本
root@localhost ~ $ goup list
| VERSION | ACTIVE |
|---------|--------|
| 1.21.1 | * |
| 1.22.5 | |
# 切换到go 1.22.5版本
root@localhost ~ $ go version
go version go1.21.1 darwin/arm64
root@localhost ~ $ goup set 1.22.5
INFO[0000] Default Go is set to 'go1.22.5'
root@localhost ~ $ goup list
| VERSION | ACTIVE |
|---------|--------|
| 1.21.1 | |
| 1.22.5 | * |
root@localhost ~ $ go version
go version go1.22.5 darwin/arm64
# 搜索版本
root@localhost ~ $ goup search 1.22
1.22.0
1.22.1
1.22.2
1.22.3
1.22.4
1.22.5
1.22.6
1.22.7
1.22rc1
1.22rc2
# 安装1.22.7
root@localhost ~ $ goup install 1.22.7
Downloaded 0.0% ( 16384 / 67309349 bytes) ...
Downloaded 31.3% (21053280 / 67309349 bytes) ...
Downloaded 100.0% (67309349 / 67309349 bytes)
INFO[0001] Unpacking /root/.go/go1.22.7/go1.22.7.darwin-arm64.tar.gz ...
INFO[0003] Success: go1.22.7 installed in /root/.go/go1.22.7
INFO[0003] Default Go is set to 'go1.22.7'
root@localhost ~ $ goup list
| VERSION | ACTIVE |
|---------|--------|
| 1.21.1 | |
| 1.22.5 | |
| 1.22.7 | * |
# 查看goup版本
root@localhost ~ $ goup version
goup version v0.7.0
# 升级goup
root@localhost ~ $ goup upgrade
INFO[0000] No upgrades
实操看得出来,goup是非常好用的一款工具。