搭建 Go 开发环境:基于 learngo 仓库的 macOS / Windows / Ubuntu 安装实战指南
搭建 Go 开发环境:基于 learngo 仓库的 macOS / Windows / Ubuntu 安装实战指南
导读
本文基于开源仓库 learngo(1000+ 手写 Go 示例、练习与测验)的 01-get-started 目录下的安装指南整理而成。该目录的 README.md 是"GO INSTALLATION GUIDES"导航入口,分别指向 macOS(OS X)、Windows 与 Linux(Ubuntu) 三份详细安装速查表。本文将三份文档的内容完整合并为一篇可照做的实战指南:从安装 Git、Go 工具链与 Visual Studio Code,到配置 PATH 与环境变量、安装 Go 开发工具,再到运行仓库中的首个示例程序,全程覆盖三大平台。读完本文,你将拥有一个可以运行 learngo 仓库全部 Go 示例与练习的本地开发环境。
1. 安装前的整体规划
在开始之前,先明确三件事:需要装什么、为什么装、装完之后如何验证。
1.1 需要安装的三个组件
| 组件 | 作用 | 说明 |
|---|---|---|
| Go 工具链 | 编译、运行 Go 程序 | 提供 go run、go build、go get 等核心命令 |
| Git | 版本控制与包下载基础设施 | go get / Go Modules 拉取依赖时依赖 Git |
| Visual Studio Code(VSCode) | 代码编辑器 | 课程与仓库示例均以 VSCode 为准,配 Go 官方扩展 |
之所以必须装 Git,可以从仓库的依赖情况得到印证:learngo 根目录的 go.mod 声明了 module github.com/inancgumus/learngo 与 go 1.13,并 require 了 github.com/fatih/color、golang.org/x/crypto 等第三方模块。这些依赖都托管在 Git 仓库中,go get 在无 Git 的情况下无法工作——Ubuntu 安装文档中对此有明确说明:"go get cannot be used without installing a code versioning program like Git"。
1.2 安装完成后如何快速验证
安装完成后,只需一条命令即可确认工具链可用:
go version
如果输出类似 go version go1.xx.x linux/amd64 的信息,说明 Go 已正确安装。更完整的验证方式见第 5 节"运行仓库中的首个程序"。
2. macOS(OS X)安装指南
原文档见 01-get-started/osx-installation.md。
2.1 快速方式:使用 Homebrew
如果你已经安装了 Homebrew 包管理器,可以跳过全部图形化安装步骤,直接在终端执行:
# 如果没有 git,先这样安装:
brew install git
# 然后安装 go
brew install go
# 将 GOBIN 路径加入 PATH,写入 ~/.bash_profile
export PATH=${HOME}/go/bin:$PATH
最后一行命令会把 $HOME/go/bin(Go 工具的可执行目录)追加到 PATH 中。注意:该 export 只在当前终端会话生效,若想永久生效,需要把这行写入 ~/.bash_profile。
2.2 分步安装:VSCode
- 从 VSCode 官网(code.visualstudio.com)下载 macOS 版本,先安装但暂时不要打开;
- 下载得到的是压缩包,解压后将其移动到
~/Applications目录。
2.3 分步安装:Git
- 从 Git 官网(git-scm.com)下载 macOS 安装器并运行;
- 安装过程中将 VSCode 设为默认编辑器。
2.4 分步安装:Go
- 前往 Go 官方下载页(golang.org/dl);
- 选择 macOS 平台版本;
- 运行下载到的安装器(pkg 安装包会自动将 Go 安装到
/usr/local/go并配置 PATH)。
2.5 配置 VSCode 的 Go 开发环境
- 打开 VSCode,在左侧扩展(Extensions)标签页搜索
go并安装 Go 扩展(即官方 Go 插件); - 完全关闭 VSCode 后重新打开(让扩展加载生效);
- 打开命令面板(Command Palette),快捷键为
cmd+shift+p:- 输入
go install; - 选择 "Go: Install/Update Tools";
- 在弹出的工具列表中勾选全部复选框,等待工具下载安装完成;
- 输入
- 再次打开命令面板:
- 输入
shell; - 选择 "Install 'code' command in PATH",把
code命令安装到 PATH 中,之后即可在终端用code 目录直接打开项目。
- 输入
注意:macOS 特有,Windows 用户不需要执行这一步。
3. Windows 安装指南
原文档见 01-get-started/windows-installation.md。
3.1 快速方式:使用 Chocolatey
如果你装了 Chocolatey 包管理器,一条命令即可完成:
choco install golang
3.2 分步安装:VSCode
- 从 VSCode 官网(code.visualstudio.com)选择 Windows 版本下载;
- 运行安装器(Install),建议先不打开编辑器。
3.3 分步安装:Git for Windows
- 从 Git for Windows 官网(gitforwindows.org)下载并运行安装器;
- 安装向导中:
- 将 VSCode 设为默认编辑器;
- 启用所有复选框;
- 选择 "Use Git from the Windows Command Prompt"(让 git 命令在 Windows 命令行中可用);
- 编码选项(Encodings)中选择 "Checkout as is..."(不自动转换换行符,避免源码格式问题)。
3.4 分步安装:Go
- 前往 Go 官方下载页(golang.org/dl);
- 选择 Windows 版本下载;
- 运行安装器(msi 安装包会自动配置环境变量)。
3.5 配置 VSCode 的 Go 开发环境
- 打开 VSCode,在扩展标签页搜索
go并安装; - 完全关闭并重新打开 VSCode;
- 打开命令面板,快捷键为
ctrl+shift+p:- 输入
go install; - 选择 "Go: Install/Update Tools";
- 勾选全部复选框,等待完成。
- 输入
3.6 使用 Git-Bash:Windows 上的类 Unix 终端
课程与仓库中的大量命令示例都是 bash 语法(在 macOS / Linux 上使用的标准命令行接口)。为了让 Windows 用户获得一致的体验,文档推荐使用随 Git for Windows 一起安装的 Git Bash:
- 打开方式:在开始菜单搜索
git bash,或点击桌面上的 Git Bash 图标; - 将 VSCode 默认终端切换为 Git Bash:
- 打开 VSCode;
- 打开命令面板,输入
terminal; - 选择 "Terminal: Select Default Shell";
- 选中 "Git Bash"。
路径映射说明:正常情况下你的文件位于 c:\ 盘,但在 Git Bash 中,C 盘根目录显示为 /c/——这是同一个目录的别名(快捷方式)。例如 c:\Users\you 在 Git Bash 中写作 /c/Users/you。
如果你更倾向于使用功能更强大的替代方案,还可以考虑 Linux Subsystem for Windows(WSL),它提供完整的 Linux 环境。是否使用 Git Bash 完全取决于个人偏好,只是后续跟随课程时,bash 命令能覆盖更多高级场景。
4. Ubuntu(Linux)安装指南
原文档见 01-get-started/ubuntu-installation.md。
4.1 快速方式:使用 Snap
sudo snap install go --classic
Snap 安装的 Go 会自动处理好可执行文件路径,无需手动解压与配置 PATH。若使用该方式,可跳过下面的第 4 步(解压)。
4.2 分步安装
第 1 步:更新本地软件包索引
sudo apt-get update
第 2 步:安装 Git
sudo apt-get install git
第 3 步:安装 Go(二选一)
方式一:通过浏览器下载。打开 Firefox 访问 Go 官方下载页(golang.org/dl),选择 Linux 平台,下载即开始:
firefox https://golang.org/dl
方式二:通过 Snap 安装(如用此方式,直接跳到第 5 步 PATH 配置):
sudo snap install go --classic
第 4 步:将下载的 Go 解压到合适目录
- 确认下载文件的完整文件名;
- 将文件名填入下面的变量(不要带扩展名),然后解压到
/usr/local:
gofile="DELETE_THIS_AND_TYPE_THE_NAME_OF_THE_DOWNLOADED_FILE_HERE (without its extension)"
tar -C /usr/local -xzf ~/Downloads/$gofile
解压后 Go 工具链位于 /usr/local/go/bin。
第 5 步:将 Go 可执行目录加入 PATH
- 添加
/usr/local/go/bin,以便运行go、gofmt等基础命令:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
- 添加
$HOME/go/bin,以便运行后续安装的 Go 工具:
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.profile
4.3 安装 Go 开发工具
文档建议安装一批官方工具链附属工具(如 goimports),它们能显著提升开发体验。注意:必须已安装 Git,否则 go get 无法工作。该命令会创建 ~/go 目录,并把工具下载进去:
go get -v -u golang.org/x/tools/...
说明:
~/go同时也是"非 Go Modules 模式"下存放你自己 Go 源码的位置。如果你后续不使用 Go Modules,就把代码放进~/go/src下(详见第 5.2 节关于 GOPATH 的说明)。
4.4 安装 VSCode(可选)
课程使用 VSCode,但你可以选用任何顺手的编辑器。Ubuntu 下安装方式:
- 打开 "Ubuntu Software"(软件中心)应用;
- 搜索 VSCode,点击 Install 安装。
4.5 可选验证:创建并运行第一个 Go 程序
在任意位置(文档特别强调:$GOPATH 之外的任意目录)新建 hello.go:
cat <<EOF > hello.go
package main
import "fmt"
func main() {
fmt.Println("hello gopher!")
}
EOF
然后运行:
go run hello.go
屏幕应输出:
hello gopher!
这一步验证了 Go 工具链、源码编译与执行链路完全正常。注意这里不要求程序位于 $GOPATH 内,对应了 Go Modules 时代"代码可以放在任何目录"的现代用法。
5. 安装完成后的验证与仓库探索
安装指南全部完成后,结合 learngo 仓库本身做一些验证,可以确认环境与仓库代码完全兼容。
5.1 运行仓库根目录的首个示例
learngo 仓库根目录的 main.go 是一个最简的 Go 程序:
package main
import "fmt"
func main() {
fmt.Println("Hi Gopher!")
}
在仓库根目录执行:
go run main.go
应输出 Hi Gopher!。程序虽然简单,却完整展示了 Go 的三大要素:package main(可执行程序的包名)、import "fmt"(引入标准库)、func main()(程序入口)。
关于这三个要素的更多细节,仓库在 02-write-your-first-program/main.go 中以大量注释做了逐行讲解,例如:
package main是特殊包,它允许 Go 生成可执行文件;- 导入
fmt后即可调用其导出函数(首字母大写即为导出,如Println); func main是 Go 运行时自动调用的入口函数;- 可以用
go doc -src fmt Println在终端查看Println的源码。
5.2 检查 GOPATH 与代码存放位置
在命令行执行以下命令可以查看当前 GOPATH 值:
go env GOPATH
关于 GOPATH,仓库的 02-write-your-first-program/questions/01-gopath/README.md 给出了清晰的问答结论:
- Go 源码应该保存在哪里? 传统 GOPATH 模式下放在
$GOPATH/src下; - 需要手动设置 GOPATH 吗? 一般不需要,它默认位于用户目录下(如
~/go),无需额外配置; - 如何打印 GOPATH? 使用
go env GOPATH命令。
现代 Go 已默认启用 Go Modules(见仓库 go.mod 声明),源码可以放在任意目录,GOPATH 更多作为依赖与工具的缓存目录存在。理解这两者的关系,是进入后续章节(02-write-your-first-program)学习的基础。
5.3 依赖下载:为什么需要 Git
仓库 go.mod 与 go.sum 声明了多个第三方依赖(如 github.com/fatih/color v1.10.0、golang.org/x/crypto 等)。当你 go run / go build 涉及这些包的示例时,Go 会自动拉取它们,而拉取过程依赖 Git 完成版本控制操作。这正是三份安装指南都把 Git 列为必装组件的原因。若执行时提示找不到模块或 go get 失败,请优先检查 Git 是否安装、网络是否可达。
6. 常见问题与注意事项速查
| 平台 | 常见问题 | 处理方式 |
|---|---|---|
| macOS | go 命令提示 not found |
检查 Homebrew 安装是否成功;确认已将 /usr/local/go/bin 与 $HOME/go/bin 加入 ~/.bash_profile 并重开终端 |
| Windows | 找不到 git 命令 |
安装 Git for Windows 时选择 "Use Git from the Windows Command Prompt";或在 Git Bash 中使用 |
| Windows | 路径写法困惑 | Git Bash 中 C 盘写作 /c/,与资源管理器中的 c:\ 是同一目录 |
| Ubuntu | tar 解压失败 |
确认 gofile 变量填写的是去掉扩展名的准确文件名,且文件位于 ~/Downloads |
| 全平台 | go get 报错 |
先安装 Git;确认 Go 版本与仓库 go.mod(go 1.13)兼容 |
| 全平台 | go 命令不生效 |
PATH 修改后需要重开终端或执行 source ~/.profile(Ubuntu)/ source ~/.bash_profile(macOS) |
7. 下一步:从安装走向学习
环境就绪后,learngo 仓库为你铺好了完整的学习路径:从 02-write-your-first-program 写出第一个程序开始,依次经过包与作用域(03)、语句与表达式(04)、变量(06)、格式化输出(07)、数字与字符串(08)、类型系统(09)……一路到函数(25)、指针(26),以及 advfuncs、interfaces 等进阶专题。每个章节都配有练习(exercises)、测验(questions)与项目实战(如 15 章复古 LED 时钟、17 章空文件查找器等)。
如果你的时间有限,可以参考 01-get-started/programmers-roadmap.md 中给出的"有经验开发者快速路线":跳过已掌握的章节,只看难点小节、做测验与练习,大约只需看 50 讲(而非全部 180 讲)。
8. 小结
本文完整整理了 learngo 仓库 01-get-started 目录下的三份安装速查表:
- macOS:Homebrew 一行安装,或 VSCode → Git → Go 官方安装器 → 配置 Go 扩展与
code命令; - Windows:Chocolatey 一行安装,或 VSCode → Git for Windows → Go 官方安装器 → 配置 Go 扩展,并推荐使用 Git Bash 统一命令行体验;
- Ubuntu:Snap 一行安装,或 apt 安装 Git → 官方 tar 包解压 → 配置 PATH → 安装 Go 工具 → VSCode 可选安装。
无论选择哪条路径,最终都以"go run 打印 hello gopher / Hi Gopher"作为环境就绪的验收标准。接下来,就进入 02-write-your-first-program 开始你的第一个 Go 程序吧。