Golang Go语言中不同版本如何快速切换?

发布于 1周前 作者 wuwangju 来自 Go语言

主要主力语言不是 go ,平时开发的没有用到最新的。 然后 github 拉下来的要求 go1.18 或者更高,那么我有什么办法建一个 go 更高版本? 可以在旧版和新版之间来回切换。


Golang Go语言中不同版本如何快速切换?
14 回复

更多关于Golang Go语言中不同版本如何快速切换?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在 mac 中建议 brew 来切量很方便,快捷,所有版本可以秒切

brew install [email protected]
brew link [email protected]

go env

不用了直接再:
brew unlink [email protected]

列出来的内容全是你期望的。

我用的 gvm 。还不错

goland 自带管理的, 我现在都直接直接用 goland 下载旧版本, 新版本用 brew 保持更新

其实不需要切换.
go 向前兼容
直接下载最新版本
用 go.mod 约定就可以了.

和 java 类似.

旧版的用的 go path 管理的好像会有很多问题吧?

什么,这玩意不向下兼容吗

现在用的,感觉还是蛮方便的 https://github.com/owenthereal/goup

楼上有说向下兼容的朋友,使用最新版本并不是一个好的方案。
需要考虑一个问题:
假设项目是 go mod 1.17
然后你使用了 go 1.19 的版本使用了一个 1.19 的方法 比如 url.JoinPath(). 那么在你的环境使用完全没有问题,别人使用就会有问题(这个问题当然可以借助自动构建检查出来)。

所以涉及到更改的,最好是与 go mod 的版本一致,避免不必要的麻烦。

在Go语言中,快速切换不同版本可以通过以下几种方法实现:

  1. 手动下载与配置

    • 下载所需版本的Go安装包(如.msi、.pkg或.tar.gz格式)。
    • 安装后,更新环境变量以指向新的Go安装路径。这通常涉及编辑shell配置文件(如.bashrc、.zshrc等),添加或更新GOROOT和PATH变量。
  2. 使用软连接

    • 下载并解压不同版本的Go到不同目录。
    • 创建一个全局go目录,并使用软连接指向所需版本的Go目录。
    • 更新PATH环境变量以使用新的软连接。
  3. 使用版本管理工具

    • GVM(Go Version Manager):这是一个专门用于管理Go环境的工具,支持安装、卸载和切换多个Go版本。使用GVM可以简化版本管理和切换的过程。
    • goenv:类似于GVM,goenv也是一个版本管理工具,适用于需要频繁切换Go版本的场景。
  4. 通过go install命令(在已安装Go的基础上):

    • 可以使用go install命令安装其他版本的Go,并将其存放在特定目录下。之后,通过更新PATH环境变量或使用其他方法来切换版本。

综上所述,选择哪种方法取决于个人偏好和项目需求。对于频繁需要切换版本的开发人员,建议使用GVM或goenv等版本管理工具来提高效率。

回到顶部