golang版本管理gvm

article/2025/11/10 16:23:56

今天小土带来一篇关于Go版本管理器gvm的小短文。废话不多说,开始安装。

安装

如果你使用的mac,mac 需要先安装xcode-select,没安装过的同学可以按照如下命令进行执行安装,这里不做太多说明了。

xcode-select --install
brew update
brew install mercurial

按照github上面指示,我们这里按照命令行进行下载gvm-installer进行安装,终端执行有问题的同学也可以到gvm-installer页面进行clone安装。

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

Cloning from https://github.com/moovweb/gvm.git to /Users/admin/.gvm
Created profile for existing install of Go at "/opt/homebrew/Cellar/go/1.18.1/libexec"
Installed GVM v1.0.22

Please restart your terminal session or to get started right away run
 `source /Users/admin/.gvm/scripts/gvm`

接下来为了使gvm生效,需要执行一下上面提示的source /Users/admin/.gvm/scripts/gvm命令即可,执行结束就可以在新终端使用gvm来切换控制go的版本了。

使用

安装好了,咱们就可以来简单了解一下gvm的支持的一些功能。这下可以呼唤gvm的help选项了。

$gvm help
Usage: gvm [command]

Description:
  GVM is the Go Version Manager

Commands:
  version    - print the gvm version number # 查看gvm的版本
  get        - gets the latest code (for debugging) # 获取最新的代码(一般为了调试)
  use        - select a go version to use (--default to set permanently) # 选择使用的Go版本 (--default 可以永久设置)
  diff       - view changes to Go root # 查看Go root中的变更
  help       - display this usage text 
  implode    - completely remove gvm # 完全删除 gvm 和所有已安装的 Go 版本和包
  install    - install go versions # 安装某个版本的Go
  uninstall  - uninstall go versions # 卸载某个版本的Go
  cross      - install go cross compilers # 安装跨平台Go编译器
  linkthis   - link this directory into GOPATH # 将项目路径链接到GOPATH中
  list       - list installed go versions # 罗列已经安装的Go版本列表
  listall    - list available versions # 罗列可用的Go版本
  alias      - manage go version aliases # 管理Go版本别名
  pkgset     - manage go packages sets # 管理Go包的设置
  pkgenv     - edit the environment for a package set # 编辑Go包集合的环境

gvm的简单使用

先通过gvm listall命令来看下目前的Go版本列表,如下,列表太长了,这里Go1-15的版本列表省略了,可以看出最新的是Go1.19的beta和几个rc版本了。那么咱们接下来通过下载Go1.19的rc版本来做示例。

$gvm listall

gvm gos (available)

   go1
   ...
   go1.16
   go1.16beta1
   go1.16rc1
   go1.16.1
   go1.16.2
   go1.16.3
   go1.16.4
   go1.16.5
   go1.16.6
   go1.16.7
   go1.16.8
   go1.16.9
   go1.16.10
   go1.16.11
   go1.16.12
   go1.16.13
   go1.16.14
   go1.16.15
   go1.17
   go1.17beta1
   go1.17rc1
   go1.17rc2
   go1.17.1
   go1.17.2
   go1.17.3
   go1.17.4
   go1.17.5
   go1.17.6
   go1.17.7
   go1.17.8
   go1.17.9
   go1.17.10
   go1.17.11
   go1.17.12
   go1.18
   go1.18beta1
   go1.18beta2
   go1.18rc1
   go1.18.1
   go1.18.2
   go1.18.3
   go1.18.4
   go1.19beta1
   go1.19rc1
   go1.19rc2
   release.r56
   release.r57
   release.r58
   release.r59
   release.r60
   release.r57.1
   release.r57.2
   release.r58.1
   release.r58.2
   release.r60.1
   release.r60.2
   release.r60.3

安装一个Go版本 先看下目前使用的Go版本,小土这里使用的是go1.18.1的版本。

$go version
go version go1.18.1 darwin/arm64

安装一个最新Go1.19的rc1版本。

$gvm install go1.19rc1
Installing go1.19rc1...
 * Compiling...
go1.19rc1 successfully installed!

版本切换 接下来,咱们切换一下下载好的go版本,这里使用gvm use version即可切换。

$gvm use go1.19rc1
Now using version go1.19rc1

如何永久切换呢?加上--default即可永久设置,可以通过新建终端执行go version,验证查看Go版本是否完全切换。

$gvm use go1.19rc1 --default
Now using version go1.19rc1

然后我们使用go version查看当前使用的Go版本,看来是切换成功了。那么你就可以来去自如地切换Go版本了。尤其是在调试不同Go版本带来的问题代码时候特别有用。

$go version
go version go1.19rc1 darwin/arm64

升级问题排查 若在升级Go过程中,gvm文件的状态发生错乱或者其他问题,可以通过执行rm -rf ~/.gvm来删除gvm进行问题的fix。

goland中使用 还是需要将当前版本复制到一定目录,然后设置goroot

goup

关注我 获取更多好文

alt

本文由 mdnice 多平台发布


http://chatgpt.dhexx.cn/article/8Q4NXn0O.shtml

相关文章

QPS.TPS.PV.UV.IP.GVM常用名词解释

QPS 全名 Queries Per Second&#xff0c;意思是“每秒查询率”&#xff0c;是一台服务器每秒能够响应的查询次数&#xff0c;是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 简单的说&#xff0c;QPS req/sec 请求数/秒。它代表的是服务器的机器的性能最…

golang多版本管理工具g使用(windows)

1、下载地址 https://github.com/voidint/g/releases2、设置环境变量 G_MIRROR 值为 https://golang.google.cn/dl/由于国内无法自由访问Golang官网&#xff0c;导致查询及下载go版本都变得困难&#xff0c;因此可以通过该环境变量指定一个镜像站点。 G_HOME 值为 E:\gvm设…

ShuffleNet 系列(2): ShuffleNet v2 理论讲解

ShuffleNet V2 概述 论文&#xff1a;ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design shuffleNet v2这篇论文比较硬核&#xff0c;提出了不少新的思想&#xff0c;推荐大家可以看看论文原文。主要思想包括&#xff1a; 模型的计算复杂度不能只…

ShuffleNet_v1论文阅读

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 2017年 原文地址&#xff1a;https://arxiv.org/pdf/1707.01083.pdf 声明&#xff1a;文章仅作知识整理、分享&#xff0c;如有侵权请联系作者删除博文&#xff0c;谢谢&#xff01; …

shufflenetv1详解

shufflenetv1 知识的搬运工又来了 论文地址&#xff1a;shufflenetv1论文地址 ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices。 shufflenet是一篇关于降低深度学习计算量的论文&#xff0c;其可以运行在手机等移动设备端&#xff0c;发…

ShuffleNet 系列(1): ShuffleNet v1 理论讲解

ShuffleNet V1 概述 论文&#xff1a;ShuffleNet:An Extremely Efficient Convolutional Netural Network for Mobile Devices ShuffleNet跟MobileNet一样也是一种轻量化网络&#xff0c;ShuffleNet V1.0版本中作者有提出Channel shuffle的概念。在ShuffleNet Block当中使用的…

ShuffleNet心得

channel shuffle&#xff1a; 1&#xff09;利用group &#xff0c;再组间进行深度卷积。 优点&#xff1a;1&#xff09;极大减小计算量&#xff08;FLOPS&#xff09; 由于每个filter不再是和输入的全部feature map做卷积&#xff0c;而是仅仅和一个group的feature map做卷…

ShuffleNet V2

原文链接&#xff1a; ShuffleNet V2 论文阅读笔记​blog.csdn.net 论文链接&#xff1a; Practical Guidelines for Efficient CNN Architecture Design​arxiv.org 我自己基于 caffe 框架的复现&#xff1a; anlongstory/ShuffleNet_V2-caffe​github.com 本文主要是对目…

【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构

论文名称&#xff1a;ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 论文下载&#xff1a;https://arxiv.org/abs/1707.01083 论文年份&#xff1a;2017 论文被引&#xff1a;3925&#xff08;2022/05/11&#xff09; 论文代码&#xf…

shufflenet_v1

本文使用的是轻量级模型shufflenet&#xff0c;使用keras框架进行训练。 参考链接&#xff08;模型详解&#xff09;&#xff1a;https://blog.csdn.net/zjn295771349/article/details/89704086 代码如下&#xff1a; 1.data_process.py&#xff08;数据处理&#xff1a;这里…

ShuffleNet V1

论文&#xff1a;https://arxiv.org/abs/1707.01083 1 问题提出 当前的CNN发展趋势是网络越大&#xff0c;性能越好。但是&#xff0c;在计算能力有限的应用场景下(无人机、机器人及智能手机上)&#xff0c;因为内存和计算能力的限制&#xff0c;无法部署大规模的神经网络。虽…

ShuffleNet 算法的介绍

引言 ShuffleNet是旷视科技最近提出的一种计算高效的CNN模型&#xff0c;其和MobileNet和SqueezeNet等一样主要是想应用在移动端。所以&#xff0c;ShuffleNet的设计目标也是如何利用有限的计算资源来达到最好的模型精度&#xff0c;这需要很好地在速度和精度之间做平衡。Shuf…

ShuffleNet网络学习笔记

目录 ShuffleNet V1 论文 介绍 Channel Shuffle ShuffleNet v1 单元 ShuffleNet v2 论文 介绍 高效模型的设计准则 ShuffleNet V2结构 ShuffleNet v2和DenseNet 总结 ShuffleNet V1 论文 ShuffleNet: An Extremely Efficient Convolutional Neural Network for M…

shuffleNet系列

目录 分组卷积 分组卷积的矛盾——计算量 分组卷积的矛盾——特征通信 channel shuffle ShuffleNet V1 ShuffleNet基本单元 ShuffleNet网络结构 对比实验 ShuffleNet V2 设计理念 网络结构 对比实验 分组卷积 Group convolution是将输入层的不同特征图进行分组&a…

Shufflenet解读

论文&#xff1a;ShuffleNet: AnExtremely Efficient Convolutional Neural Network for Mobile Devices 论文提到模型加速的方法为&#xff1a; 1&#xff09; 修剪网络&#xff0c;减少分支&#xff08;pruningnetwork connections&#xff09;。 2&#xff09; 对于一个…

ShuffleNet模型解读

原文链接&#xff1a;&#xff1a;https://arxiv.org/abs/1707.01083 Abstract 论文提出了一种计算效率极高的卷积神经网络结构——ShuffleNet&#xff0c;它是专门为计算能力有限的移动平台设计的。这个新结构用来两个新操作——逐渐群卷积(pointwise group convulution)和通…

ShuffleNet

ShuffleNetV2 的构建模块。首先&#xff0c;卷积步长为 1 的瓶颈块中&#xff0c;先将输入特征按通道一分为二&#xff0c;化成两个分支来 代替原先的分组卷积结构&#xff0c;并且每个分支中的卷积层都 是保持输入输出通道数相同。其中一个分支不采取任何操作以减少参数量和计…

轻量级网络——ShuffleNetV2

文章目录 1.ShuffleNetV2的介绍2.ShuffleNetV2的四条实用指南G1) Equal channel width minimizes memory access cost (MAC)G2) Excessive group convolution increases MACG3) Network fragmentation reduces degree of parallelismG4) Element-wise operations are non-negli…

轻量化网络结构——ShuffleNet

论文&#xff1a;《ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices》—Face 1.shuffle具体来说是channel shuffle&#xff0c;是将各部分的feature map的channel进行有序的打乱&#xff0c;构成新的feature map&#xff0c;以解决group…

【论文阅读】ShuffleNet——ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

文章目录 论文阅读代码实现modeltrainpredict 实验结果 论文阅读 感谢P导 ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 文章中提出了一个非常有效的Architecture——ShuffleNet&#xff0c;主要使用两种操作&#xff0c;分组PW卷积…