0

0

Golang如何在MacOS配置多版本Golang

P粉602998670

P粉602998670

发布时间:2025-10-24 18:11:01

|

998人浏览过

|

来源于php中文网

原创

使用g工具或手动配置可高效管理macOS上多版本Go。1. 用Homebrew安装g后,通过g install/use/default命令安装、切换和设默认版本,自动配置环境变量;2. 手动下载指定版本解压至统一目录,在shell配置文件中定义go-use函数动态切换GOROOT和PATH;两种方法均需确保PATH正确指向目标Go版本的bin目录,避免冲突。

golang如何在macos配置多版本golang

macOS 上管理多个 Go 版本,最简单高效的方式是使用 g(Go 版本管理工具)或手动管理并结合 shell 环境变量切换。下面介绍两种实用方法,帮助你在 Mac 上轻松配置多版本 Go。

方法一:使用 g 工具管理多版本 Go

g 是一个轻量级的 Go 版本管理工具,支持快速安装、切换和卸载不同版本的 Go。

步骤如下:
  • 通过 Homebrew 安装 g
    brew install g
  • 列出可安装的 Go 版本:
    g list-remote
  • 安装指定版本,例如 Go 1.20 和 Go 1.21:
    g install 1.20
    g install 1.21
  • 切换当前使用的 Go 版本:
    g use 1.20
    g use 1.21
  • 设置默认版本(全局生效):
    g default 1.21

安装后,g 会将 Go 版本放在 ~/.go 目录,并自动配置好 GOROOTPATH,无需手动设置。

方法二:手动下载并配置多版本 Go

如果你希望完全控制 Go 的安装路径,可以手动下载不同版本并配合 shell 脚本切换。

立即学习go语言免费学习笔记(深入)”;

操作步骤:
  • 前往 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载所需版本的 tar.gz 包,例如 go1.20.darwin-amd64.tar.gzgo1.21.darwin-arm64.tar.gz
  • 解压到统一目录,如:
    sudo tar -C /usr/local/go1.20 -xzf go1.20.darwin-amd64.tar.gz
    sudo tar -C /usr/local/go1.21 -xzf go1.21.darwin-arm64.tar.gz
  • 在 shell 配置文件(如 ~/.zshrc~/.bash_profile)中添加函数来切换版本:

示例函数:

企业SEO优化站17.8 DeepSeek版
企业SEO优化站17.8 DeepSeek版

企业SEO优化站 V17.8 - DeepSeek版 企业网站SEO优化:强大的SEO网站优化功能,快速让您的网站在搜索引擎中脱颖而出,让更多的客户找到您。 企业SEO网站安装: 1、上传至虚拟主机[根目录]。 2、若上传至虚拟主机根目录则要修改文件(特别注意修改 网站配置中 网站地址 域名+“/” 网络:http://www.***.cn/ 或 本地:http://localhost/ 如然后

下载
go-use() {
  if [ -z "$1" ]; then
    echo "Usage: go-use , e.g. go-use 1.20"
    return 1
  fi
  export GOROOT=/usr/local/go$1
  export PATH=$GOROOT/bin:$PATH
  go version
}

保存后执行 source ~/.zshrc 重新加载配置。

之后可通过命令切换:
go-use 1.20
go-use 1.21

验证当前 Go 版本

无论使用哪种方式,都可以通过以下命令确认当前版本:

go version

输出类似:
go version go1.21 darwin/arm64

基本上就这些。使用 g 更省心,适合大多数开发者;手动管理则更适合需要精细控制环境的场景。关键是确保 PATH 指向正确的 GOROOT/bin,避免版本混乱。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

180

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

228

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

209

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

393

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

197

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

191

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

253

2025.06.17

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号