Debian 多版本共存 Go 安装教程

 更新时间:2026年04月14日 09:32:24   作者:爱喝水的小汪  
这篇文章介绍了在Debian系统上实现多版本Go共存的详细方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

有时候系统自带的 Go 版本比较旧,但有些项目又需要更高版本。
这时候比较稳的做法就是:

  • 保留 Debian 系统自带的 Go
  • 用系统的 Go 去安装多个指定版本的 Go 包装器
  • 再分别下载对应版本的 Go 工具链
  • 最终实现 多个 Go 版本共存

这篇文章就是记录一下我自己的安装过程。
按我的步骤来,基本就能跑通。

1. 安装 Debian 系统自带的 Go

先安装 Debian 自带的 Go。

sudo apt install golang   # 安装 Debian 自带的 Go,用来启动环境

Debian 系统自带的 Go,主要用来管理和安装其他 Go 版本。

2. 安装指定版本的 Go 包装器

这里要注意:
这一步 不是直接安装完整的 Go 工具链,而是先安装对应版本的 包装器命令

比如:

go install golang.org/dl/go1.25.8@latest   # 安装 go1.25.8 的版本包装器
go install golang.org/dl/go1.26.2@latest   # 安装 go1.26.2 的版本包装器

go1.25.8、go1.26.2 只是示例,你可以按自己的需要替换成别的版本。

3. 查看包装器是否已经生成

如果没有自定义 GOPATH,那么 go install 生成的可执行文件通常会放在:

~/go/bin

可以先看一下家目录下有没有 go 文件夹:

cd ~
ls   # 查看是否生成了 go/ 目录

再进入 ~/go/bin 看一下:

ls ~/go/bin   # 查看版本包装器是否已经生成

如果正常的话,你应该能看到类似下面这样的命令:

  • go1.25.8
  • go1.26.2

4. 把~/go/bin加入 PATH

如果这一步不做,终端可能会提示找不到 go1.25.8go1.26.2 命令。

编辑 ~/.bashrc

vim ~/.bashrc

在空白处加入这一行:

export PATH="$PATH:$HOME/go/bin"

如果你用的是 zsh,那就改 ~/.zshrc

保存后执行:

source ~/.bashrc

这样新的 PATH 就生效了。

5. 下载并安装对应版本的 Go 工具链

前面只是安装了包装器,
现在才是真正下载对应版本的 Go 工具链。

先下载 Go 1.26.2:

go1.26.2 download   # 下载并安装 Go 1.26.2 工具链
go1.26.2 version    # 查看 Go 1.26.2 是否安装成功

再下载 Go 1.25.8:

go1.25.8 download   # 下载并安装 Go 1.25.8 工具链
go1.25.8 version    # 查看 Go 1.25.8 是否安装成功

6. 验证多版本共存

你现在就可以分别查看不同版本:

go version
go1.25.8 version
go1.26.2 version

如果都能正常输出版本号,就说明多版本共存已经成功了。

7. 总结

这套方法的核心思路其实很简单:

  1. 安装 Debian 系统自带的 Go
  2. 用系统 Go 安装多个指定版本的 Go 包装器
  3. ~/go/bin 加入 PATH
  4. 执行 go1.xx.x download 下载对应版本工具链
  5. 最终实现多个 Go 版本共存

这种方式的好处是:

  • 不影响系统原来的 Go
  • 可以同时保留多个版本
  • 切换版本方便
  • 对需要兼容不同 Go 版本的项目很实用

8. 补充说明

8.1 为什么要先装 Debian 自带的 Go?

因为 go install golang.org/dl/...@latest 这一步本身就需要先有一个可用的 Go 环境。
所以最省事的方法,就是先用 Debian 系统自带的 Go 把环境启动起来。

8.2 为什么执行完go install后还是不能直接用?

因为 go install 安装出来的包装器默认放在:

~/go/bin

如果这个目录没有加入 PATH,终端就找不到对应命令。

8.3 为什么go install之后还要再执行download?

因为:

go install golang.org/dl/go1.25.8@latest

这一步只是安装了一个叫 go1.25.8 的命令包装器,
并没有把完整的 Go 1.25.8 工具链下载下来。

真正安装完整工具链的是:

go1.25.8 download

9. 完整命令汇总

sudo apt install golang
go install golang.org/dl/go1.25.8@latest
go install golang.org/dl/go1.26.2@latest
ls ~/go/bin
vim ~/.bashrc
export PATH="$PATH:$HOME/go/bin"
source ~/.bashrc
go1.26.2 download
go1.26.2 version
go1.25.8 download
go1.25.8 version
go version
go1.25.8 version
go1.26.2 version

10. 结尾

官方文档有些地方写得比较简略,第一次配的时候确实容易卡住。
尤其是:

  • 不知道包装器装到哪里了
  • 不知道为什么命令找不到
  • 不知道为什么还要再执行一次 download

参考:Go 官方文档:Managing Go installations

到此这篇关于Debian 多版本共存 Go 安装教程的文章就介绍到这了,更多相关Debian 多版本共存 Go 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • Kafka安装部署+go整合过程

    Kafka安装部署+go整合过程

    go语言是一种快速、分布式、并发编程的语言,它天生适合于处理高并发场景下的消息传递和处理,在本文中,我们将介绍Kafka安装部署+go整合过程,感兴趣的朋友一起看看吧
    2024-08-08
  • GoLang并发机制探究goroutine原理详细讲解

    GoLang并发机制探究goroutine原理详细讲解

    goroutine是Go语言提供的语言级别的轻量级线程,在我们需要使用并发时,我们只需要通过 go 关键字来开启 goroutine 即可。这篇文章主要介绍了GoLang并发机制goroutine原理,感兴趣的可以了解一下
    2022-12-12
  • Go语言中append函数用法分析

    Go语言中append函数用法分析

    这篇文章主要介绍了Go语言中append函数用法,对比使用append函数与不使用append函数的两个实例,详细分析了Go语言中append函数的功能,需要的朋友可以参考下
    2015-02-02
  • go 熔断原理分析与源码解读

    go 熔断原理分析与源码解读

    这篇文章主要为大家介绍了go 熔断原理分析与源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 深入理解Golang中的dig包管理和解决依赖关系

    深入理解Golang中的dig包管理和解决依赖关系

    这篇文章主要为大家详细介绍了golang中dig包的使用方法,探讨其应用场景,并提供一些示例,展示如何结合其他库来更好地实现这些场景,感兴趣的小伙伴可以了解下
    2024-01-01
  • Go语言中处理JSON字符串转换的常见方式

    Go语言中处理JSON字符串转换的常见方式

    这篇文章主要介绍了Go语言中处理JSON字符串转换的常见方法,这些方法覆盖了 Go 语言中处理 JSON 字符串的常见场景,你可以根据具体需求选择合适的方式,需要的朋友可以参考下
    2025-09-09
  • Golang常用包使用介绍

    Golang常用包使用介绍

    标准的Go语言代码库中包含了大量的包,并且在安装Go的时候多数会自动安装到系统中。我们可以在$GOROOT/src/pkg目录中查看这些包。下面简单介绍一些我们开发中常用的包
    2022-09-09
  • Golang指针的操作以及常用的指针函数

    Golang指针的操作以及常用的指针函数

    本文主要介绍了Golang指针的操作以及常用的指针函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • golang 如何自动下载所有依赖包

    golang 如何自动下载所有依赖包

    这篇文章主要介绍了golang 自动下载所有依赖包的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Golang WebView跨平台的桌面应用库的使用

    Golang WebView跨平台的桌面应用库的使用

    Golang WebView是一个强大的桌面应用库,本文介绍了Golang WebView的特点和使用方法,并列举示例详细的介绍了其在实际项目中的应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03

最新评论