如何在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; ?>
】
相关推荐
- C#如何使用XPathNavigator高效查询X
- Win10如何更改电脑休眠时间_Windows10
- c++如何连接Redis c++ hiredis库
- 如何在 ACF 中正确更新嵌套多层的 Group
- Python大型项目拆分策略_模块化解析【教程】
- Win11怎么查看电脑配置_Win11硬件配置详细
- Windows10如何删除恢复分区_Win10 D
- PHP主流架构怎么监控运行状态_工具推荐【操作】
- 如何使用Golang匿名函数_快速定义临时函数逻辑
- Win11怎么设置屏保时间_调整Win11屏幕保护
- Win10如何更改网络连接_Windows10以太
- MySQL 中使用 IF 和 CASE 实现查询字
- Python随机数生成_random模块说明【指导
- c++如何判断文件是否存在_c++ filesys
- c++ stringstream用法详解_c++字
- php中作用域操作符能访问私有静态属性吗_访问权限
- c++中如何对数组进行排序_c++数组排序算法汇总
- php下载安装包怎么选_threadsafe与nt
- 如何在 Go 中正确测试带 Cookie 的 HT
- Win11如何设置计划任务 Win11定时执行程序
- c# await 一个已经完成的Task会发生什么
- PythonDocker高级项目部署教程_多容器管
- Win11怎么设置组合键快捷方式_Windows1
- 如何用正则表达式精确匹配“start”到“end”
- Win11鼠标灵敏度怎么调 Win11鼠标指针移动
- Python列表推导式与字典推导式教程_简化代码高
- Python与MongoDB NoSQL开发实战_
- 如何使用Golang搭建本地API测试环境_快速验
- Win11怎么更改盘符_Win11磁盘管理修改驱动
- VSC怎么配置PHP的Xdebug_远程调试设置步
- Python安全爬虫设计_IP代理池与验证码识别策
- Windows10电脑怎么设置文件权限_Win10
- php485在macos下怎么配置_php485
- Windows蓝屏错误0x0000001E怎么修复
- 如何使用Golang实现容器健康检查_监控和自动重
- c++怎么设置线程优先级与cpu亲和性_c++ 多
- php在Linux怎么部署_LNMP环境搭建PHP
- Python文件和流处理指南_高效读写大体积数据文
- Win10怎样设置多显示器_Win10多显示器扩展
- 如何优化Golang程序CPU性能_Golang
- Win10怎么卸载鲁大师_Win10彻底卸载鲁大师
- Windows系统时间服务错误_W32Time服务
- MAC怎么使用表情符号面板_MAC Emoji快捷
- Win11声音太小怎么办_Windows 11开启
- 一文详解网站被黑客入侵挂马解决办法
- 如何在 Python 中将 ISO 8601 时间
- Python性能剖析高级教程_cProfileLi
- Windows 11怎么更改锁屏超时时间_Wind
- Python面向对象实战讲解_类与设计模式深入理解
- c++的static关键字有什么用 静态变量和静态

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