Go · 4 分钟阅读
Go 环境配置指南
目录
三个平台装 Go 思路都一样:下载、解压、设环境变量。国内用户第一步先把 GOPROXY 换掉,不然拉依赖会卡到怀疑人生。下面分系统说。
一、Windows
(一)安装 Go
去 https://go.dev/dl/ 下 Windows 的 msi 安装包。64 位机器选 go1.x.x.windows-amd64.msi,现在基本都用 64 位。
双击运行,一路下一步,默认装到 C:\Program Files\Go,不用改路径。
(二)设置环境变量
GOPROXY
国内拉不动 proxy.golang.org,打开 CMD 换个源:
go env -w GOPROXY=https://goproxy.cn,direct
阿里云的 https://mirrors.aliyun.com/goproxy/ 也行。挑一个执行就好,别两条都跑,后一条会覆盖前一条。
GOPATH
Go 1.11 之后有 modules,GOPATH 不像以前那么关键了,但想改也可以:
go env -w GOPATH=f:\mygo
查看是否生效:
go env GOPATH
(三)VS Code 配置
VS Code 装 Go 扩展,搜 “Go” 第一个就是。装完按 Ctrl+, 打开设置,搜 “go”,点右上角图标打开 settings.json。
新版 Go 扩展默认走 gopls 语言服务器,很多老配置项要么废弃要么改名了。go.formatTool、go.lintTool、go.buildOnSave、go.lintOnSave、go.vetOnSave、go.docsTool、go.gocodeAutoBuild 这些别再写了,goreturns、gogetdoc、gocode 都是被淘汰的工具,gopls 全包了。
一份能用的配置:
{
"go.formatOnSave": true,
"go.lintOn": "workspace",
"go.vetOn": "workspace",
"go.testFlags": ["-v", "-count=1"],
"go.useLanguageServer": true,
"gopls": {
"ui.semanticTokens": true
},
"editor.formatOnSave": true
}
go.lintTool 默认就是 staticcheck,不用显式写。想用 golangci-lint 的话自己装一下再写进去。gopls 早期确实卡,现在已经稳定了,放心开。
二、Linux
(一)安装 Go
Debian/Ubuntu 用 apt 最省事:
sudo apt-get update
sudo apt-get install golang-go
不过 apt 源里的版本通常落后好几个小版本。想要新版本,手动下:
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
rm -rf 那步是清掉旧版本,不删的话解压会混在一起。
然后编辑 ~/.bashrc(或你用的 shell 对应的 rc 文件):
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc 生效。
CentOS 那套先装 gcc glibc 的老流程其实多数情况用不上,Go 官方二进制包开箱即用。除非你要 cgo 编 C 依赖,那才需要编译工具链。
(二)设置环境变量
和 Windows 一样,go env -w 写到 ~/.config/go/env,跨 shell 生效:
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPATH=~/mygo
习惯改 ~/.bashrc 也行:
cat >> ~/.bashrc << EOF
export GOPATH=~/mygo
export PATH=$PATH:$GOPATH/bin
EOF
source ~/.bashrc
三、macOS
(一)安装 Go
最省事的方式是 Homebrew:
brew install go
或者去 https://go.dev/dl/ 下 pkg 包,双击装,默认路径 /usr/local/go。Apple Silicon 用 brew 装的话在 /opt/homebrew/Cellar/go 下。
(二)设置环境变量
macOS Catalina 之后默认 shell 是 zsh,编辑 ~/.zshrc:
export GOPATH=~/mygo
export PATH=$PATH:$GOPATH/bin
GOPROXY 同上:
go env -w GOPROXY=https://goproxy.cn,direct
source ~/.zshrc 生效。还在用 bash 的话就改 ~/.bashrc。
(三)VS Code 配置
和 Windows 一样,参考上面的配置就行。用 brew 装的 Go 不用设 GOROOT,扩展能自动找到。