0

0

如何在Mac系统安装Golang开发环境_Golang Mac安装与配置说明

P粉602998670

P粉602998670

发布时间:2026-01-25 11:47:02

|

687人浏览过

|

来源于php中文网

原创

Mac 安装 Go 环境推荐官方 .pkg(自动配 PATH/GOROOT)或 Homebrew(适合多版本管理),需手动配置 ~/.zshrc 中 GOROOT、GOPATH 和 PATH,设置 GOPROXY=https://goproxy.cn,direct,并安装 dlv 与 gopls 以支持 VSCode 调试。

如何在mac系统安装golang开发环境_golang mac安装与配置说明

Mac 上安装 Golang 开发环境,只要选对方式、配对路径、设好代理,5 分钟内就能跑起 go run main.go —— 但 90% 的失败都卡在环境变量没生效,或 GOPROXY 没配,导致 go mod tidy 卡死不动。

用 .pkg 安装包还是 Homebrew?看你的使用场景

官方 .pkg 安装包(推荐给刚接触 Go 或需要稳定版本的用户)会自动把 /usr/local/go/bin 加进系统 PATH,并默认设好 GOROOT;Homebrew 安装(brew install go)更灵活,适合经常切换版本或用 brew bundle 管理工具链的开发者。但注意:
• Homebrew 安装的 Go 默认不写入 shell 配置文件,go version 可能报 command not found
• Apple Silicon(M1/M2/M3)芯片务必下载 darwin-arm64.pkg,别错选 amd64 版本,否则运行时报 bad CPU type in executable
• 覆盖安装新版 .pkg 不会影响已有 GOPATH 和模块缓存,但建议装完后执行 source ~/.zshrc 确保 PATH 刷新

PATH 和 GOPATH 必须手动检查的三个位置

Mac 默认 shell 是 zsh,所以环境变量必须写进 ~/.zshrc(不是 ~/.bash_profile,除非你主动改过 shell)。常见错误是只加了 /usr/local/go/bin,漏掉 $GOPATH/bin,导致 go install 安装的工具(如 dlv)找不到命令。
• 打开终端,运行 echo $SHELL 确认当前 shell
• 编辑 ~/.zshrc,添加以下两行(GOPATH 可自定义,但别用空格或中文路径):

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

• 执行 source ~/.zshrc 后,验证:go env GOROOT 应输出 /usr/local/gogo env GOPATH 应输出你设的路径
• 如果仍提示 command not found: go,检查 which go 是否为空;若为空,说明 PATH 没生效,重启终端或运行 exec zsh

国内网络下 go mod 卡住?立刻配 GOPROXY

不配代理时,go getgo mod download 会直连 proxy.golang.org,大概率超时或返回 403。这不是网络问题,而是 Go 模块生态默认依赖境外基础设施。
• 推荐配置(任选其一,goproxy.cn 稳定性略优于七牛云):

go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn

• 验证是否生效:go env GOPROXY 输出应为 https://goproxy.cn,direct
• 若项目含私有 Git 仓库(如公司内部 GitLab),需额外设置:go env -w GOPRIVATE=git.example.com/mygroup/*,否则代理会尝试转发私有地址导致失败
• 注意:设置后所有新终端窗口自动继承,但已打开的终端需重新运行 source ~/.zshrc 或新开窗口

VSCode 调试跑不起来?重点查 gopls 和 dlv

VSCode 的 Go 扩展(golang.Go)首次打开 .go 文件时会弹窗提示安装工具链,其中 gopls(语言服务器)和 dlv(调试器)最关键。如果跳过或安装失败,会出现“no debug adapter”或代码无补全。
• 手动安装最新版 dlv

go install github.com/go-delve/delve/cmd/dlv@latest

• 检查是否成功:dlv version 应输出版本号,且路径在 $GOPATH/bin
• 在 VSCode 设置中确认启用了 LSP:"go.useLanguageServer": true
• 如果编辑器里 import 提示红色波浪线但 go build 正常,大概率是 gopls 没加载完,等几秒或重启 VSCode 窗口;持续失败可删掉 ~/.cache/go-build$GOPATH/pkg/mod/cache 后重试

PhotoScissors
PhotoScissors

免费自动图片背景去除

下载

最容易被忽略的是:装完 .pkg 后没关再开终端,PATH 就不会更新;还有人把 GOPROXY 写成 https://goproxy.cn/(末尾斜杠导致 404)。这些小细节,比选哪个安装方式重要得多。

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

相关专题

更多
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、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

341

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结构体相关大全,想了解更多内容,请阅读专题下面的文章。

220

2025.06.09

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

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

192

2025.06.10

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

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

335

2025.06.17

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

58

2026.01.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.5万人学习

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

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