美文网首页
如何同时安装多个不同版本的Go?GVM就可以!

如何同时安装多个不同版本的Go?GVM就可以!

作者: 左诗右码 | 来源:发表于2024-05-08 00:42 被阅读0次

GVM

安装过程中,如果遇到了错误,还是直接先访问仓库地址看看文档介绍,可能解决得更快。

安装并使用

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# 也可以先把脚本先下载下来,然后执行
curl -o gvm-installer https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer
chmod +x gvm-installer
./gvm-installer

查看可用的 go 版本

gvm listall

安装特定版本的 go

# 这里的版本号由 `gvm listall` 命令返回的版本号之一
gvm install go1.16.5
# 下载后的 go 位于 `~/.gvm/gos` 目录下

查看当前正在使用的 go 版本

gvm list

# gvm gos (installed)
#
#   go1.17
#   go1.17.13
#   go1.20.8
#=> go1.21.0
#   system

使用特定版本的 go

gvm use go1.16.5
# 设置为默认版本的 go
gvm use go1.16.5 --default

卸载特定版本的 go

gvm uninstall go1.16.5

慎重!!! 完全卸载掉 GVM 和所有安装的 Go 版本

gvm implode

# 如果以上的命令不奏效的话,也可以直接
rm -rf $GVM_ROOT
# 然后去除掉 ~/.zshrc 文件中的类似以下内容即可(如果使用的是 bash 则在 ~/.bashrc 文件中)
[[ -s "/Users/pudongping/.gvm/scripts/gvm" ]] && source "/Users/pudongping/.gvm/scripts/gvm"

使用 GVM pkgset

使用 pkgset 可以将你每一个项目的依赖包都分隔开来。

# 查看系统环境变量
echo $PATH
# 可见已经将 `~/.gvm/bin` 加入了环境变量中
# /Users/pudongping/.gvm/bin

先使用特定的版本,比如 go1.21.0

gvm use go1.21.0

# Now using version go1.21.0

gvm list

# gvm gos (installed)
#
#   go1.17
#   go1.17.13
#   go1.20.8
#=> go1.21.0
#   system

echo $PATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/global/bin:/Users/pudongping/.gvm/gos/go1.21.0/bin:/Users/pudongping/.gvm/pkgsets/go1.21.0/global/overlay/bin:/Users/pudongping/.gvm/bin
# 此时可见多添加了
# ~/.gvm/pkgsets/{GO_VERSION}/global/bin
# ~/.gvm/gos/{GO_VERSION}/bin
# ~/.gvm/pkgsets/{GO_VERSION}/global/overlay/bin

echo $GOPATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/global

查看 global pkgset

gvm pkgset list

#gvm go package sets (go1.21.0)
#
#=>  global

创建特定的 pkgset

# 创建一个名为 `ppGvm` 的 pkgset
gvm pkgset create ppGvm

gvm pkgset list
#
#gvm go package sets (go1.21.0)
#
#=>  global
#    ppGvm
 
# 此时查看系统环境变量,还不会将 `ppGvm` 加入    
echo $PATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/global/bin:/Users/pudongping/.gvm/gos/go1.21.0/bin:/Users/pudongping/.gvm/pkgsets/go1.21.0/global/overlay/bin:/Users/pudongping/.gvm/bin
echo $GOPATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/global

# 使用 `ppGvm` pkgset
gvm pkgset use ppGvm
# Now using pkgset go1.21.0@ppGvm

gvm pkgset list
#
#gvm go package sets (go1.21.0)
#
#    global
#=>  ppGvm

# 此时可以看到,已经将 `ppGvm` 加入到环境变量中
echo $PATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/ppGvm/bin:/Users/pudongping/.gvm/pkgsets/go1.21.0/ppGvm/overlay/bin:/Users/pudongping/.gvm/pkgsets/go1.21.0/global/bin:/Users/pudongping/.gvm/gos/go1.21.0/bin:/Users/pudongping/.gvm/pkgsets/go1.21.0/global/overlay/bin:/Users/pudongping/.gvm/bin

echo $GOPATH
# /Users/pudongping/.gvm/pkgsets/go1.21.0/ppGvm:/Users/pudongping/.gvm/pkgsets/go1.21.0/global

如果此时你通过 go get 下载 go 包的话,你可以看到新的包被添加到了以下目录下

cd $( awk -F':' '{print $1}' <<< $GOPATH )
# 或者直接 cd /Users/pudongping/.gvm/pkgsets/go1.21.0/ppGvm

pwd
#/Users/pudongping/.gvm/pkgsets/go1.21.0/ppGvm

相关文章

  • gvm 操作

    查看gvm安装的go版本gvm list使用gvm切换使用go版本 后面加 -default代表默认使用这个gvm...

  • go包管理

    内容 1 gvm管理go版本2 git submodule3 go mod gvm使用 1 安装gvm 2 gvm...

  • mac 开发环境配置教程

    使用GVM 来安装Go GVM是用来管理Go版本的一个工具,有点像python中的virtualenv。 安装gv...

  • 如何用 GVM 管理 Go 项目

    使用 Go 版本管理器管理多个版本的 Go 语言环境及其模块。 Go 语言版本管理器(GVM)是管理 Go 语言环...

  • gvm install go1.18.1 Unrecognize

    1、gvm安装 go1.18.1版本出现Unrecognized Go version问题 2、查日志cat /...

  • 如何安装多个版本的node

    最近好多人都问到node怎么同时安装多个版本? 如何配置node的环境变量,如何自如的在多个版本中切换node?因...

  • gvm 安装go失败

    gvm安装bash < <(curl -s -S -L https://raw.githubusercontent...

  • node同时安装多个版本

    多个 Node.js 版本的安装 Node.js 的版本更新非常快,所有有时需要在多个版本之间切换,就需要安装多个...

  • 使用Anaconda管理多个版本的Python环境

    通过Conda的环境管理功能,我们能同时安装多个不同版本的Python,并能根据需要自由切换。 1.安装conda...

  • Go-Ethereum: 编译运行

    安装Golang go-ethereum 需要go版本不低于 1.7, 文章最后介绍了如何卸载低版本的go sud...

网友评论

      本文标题:如何同时安装多个不同版本的Go?GVM就可以!

      本文链接:https://www.haomeiwen.com/subject/miudfjtx.html