如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
技术百科
P粉602998670
发布时间:2026-01-02
浏览: 次 在Mac上用Homebrew安装Go最简洁高效,自动配置PATH;需多版本时推荐goenv,支持全局/局部版本切换,并建议配置GOPROXY加速模块下载。
在Mac上搭建Golang开发环境,用Homebrew安装和管理Go版本是最简洁高效的方式。它能避免手动下载、解压、配置PATH等繁琐步骤,还能轻松切换不同Go版本,适合日常开发与多项目协作。
用Homebrew安装Go
确保已安装Homebrew(如未安装,先运行 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")。之后执行:
- brew install go —— 安装最新稳定版Go
- 安装完成后,Go
二进制文件默认位于 /opt/homebrew/bin/go(Apple Silicon)或 /usr/local/bin/go(Intel),Homebrew会自动将其加入系统PATH - 验证:终端运行 go version,应显示类似 go version go1.22.4 darwin/arm64
用gvm或goenv管理多版本(推荐goenv)
Homebrew自带的go只提供单版本,若需并存多个Go版本(如v1.19、v1.21、v1.22),建议使用goenv——轻量、兼容性好、与Homebrew无冲突:
- 安装:brew install goenv
- 初始化:将以下内容添加到
~/.zshrc(或~/.bash_profile):
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
然后运行 source ~/.zshrc - 列出可安装版本:goenv install --list
- 安装指定版本(如v1.21.10):goenv install 1.21.10
- 设为全局默认:goenv global 1.21.10;或为当前目录设局部版本:goenv local 1.19.13
验证环境与基础配置
安装和版本管理就绪后,还需确认工作区和模块支持正常:
立即学习“go语言免费学习笔记(深入)”;
- Go默认使用模块(Go Modules),无需额外开启。新建项目目录后,运行 go mod init example.com/myapp 即可初始化
- 检查GOPATH(现代Go已不强制依赖,但部分工具仍参考):go env GOPATH,默认为
$HOME/go,可按需修改 - 推荐启用Go代理加速模块下载:go env -w GOPROXY=https://proxy.golang.org,direct(国内用户可换为 https://goproxy.cn)
- 编辑器支持:VS Code安装“Go”扩展后,会自动识别goenv切换的版本;JetBrains系列需在Settings → Go → GOROOT中指向
$(goenv prefix)对应路径
卸载与清理(按需)
若想彻底移除Homebrew安装的Go或某个goenv版本:
- Homebrew版Go:brew uninstall go
- goenv某版本:goenv uninstall 1.20.7
- 删除全部goenv版本及配置:rm -rf $HOME/.goenv,再从
~/.zshrc中删掉相关配置行
# ai
# app
# mac
# 工具
# win
# go
# golang
# curl
# git
# github
# 解压
# ssl
# proxy
# bash
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Laravel 查询 JSON 列:高效筛选包含数
- c++中如何使用虚函数实现多态_c++多态性实现原
- php中$this和::能混用吗_对象与静态作用域
- Windows Defender扫描失败怎么办_安
- Win11怎么关闭透明效果_Windows11辅助
- Win11怎么设置组合键快捷方式_Windows1
- Win11如何设置自动关机 Win11定时关机命令
- 如何在Windows中创建新的用户账户?(标准与管
- Win11怎么更改鼠标指针_Windows 11自
- mac怎么退出id_MAC退出iCloud账号与A
- php串口通信波特率怎么选_根据硬件手册设置正确波
- 如何在Golang中配置代码格式化工具_使用gof
- Win11怎么设置应用分屏_Windows11贴靠
- 如何在 Go 中正确反序列化多个同级 XML 元素
- php订单日志怎么记录评价_php记录订单评价日志
- Win11开机速度慢怎么优化_Win11系统启动加
- PHP主流架构如何做单元测试_工具与流程【详解】
- Win11怎么更改默认打开方式_Win11关联文件
- php报错怎么查看_定位PHP致命错误与警告的方法
- c++ unordered_map怎么用 c++哈
- MAC怎么使用表情符号面板_MAC Emoji快捷
- 作用域操作符会影响性能吗_php静态调用性能分析【
- php中self::能调用子类重写的方法吗_静态绑
- Win11蓝牙开关不见了怎么办_Win11蓝牙驱动
- 如何在 Go 中比较自定义的数组类型(如 [20]
- php8.4匿名类怎么用_php8.4匿名类创建与
- 如何在Golang中处理模块冲突_解决依赖版本不兼
- c++如何获取map中所有的键_C++遍历键值对提
- Win11怎么关闭自动更新 Win11永久关闭系统
- php增删改查在php8里有什么变化_新特性对cu
- Win10怎么卸载金山毒霸_Win10彻底卸载金山
- 如何在Golang中使用time处理时间_Gola
- Windows怎样拦截WPS弹窗广告_Window
- Win11怎么清理C盘下载文件夹_Win11清理下
- MySQL 中使用 IF 和 CASE 实现查询字
- Python装饰器复用技巧_通用能力解析【教程】
- 如何使用Golang优化模块引入路径_Golang
- Win11怎么关闭贴靠布局_Win11禁用窗口最大
- Win11怎么设置默认邮件应用_Windows11
- Win11怎么解压RAR文件 Win11自带解压功
- C#如何使用Channel C#通道实现异步通信
- php下载安装包太大怎么下载_分卷压缩下载方法【教
- php怎么下载安装后测试是否成功_简单脚本验证方法
- Win10系统字体模糊怎么办_Windows10高
- 如何使用Golang实现容器健康检查_监控和自动重
- 如何用正则表达式精确匹配“start”到“end”
- Windows10如何更改开机密码_Win10登录
- 静态属性修改会影响所有实例吗_php作用域操作符下
- Win11怎么关闭任务栏小组件_Windows11
- c++中的可变参数模板(variadic temp

二进制文件默认位于 /opt/homebrew/bin/go(Apple Silicon)或 /usr/local/bin/go(Intel),Homebrew会自动将其加入系统PATH
QQ客服