- 文档
- 教程
【免费下载链接】build-web-application-with-golang
A golang ebook intro how to build a web with golang
本文以开源书籍《build-web-application-with-golang》波斯语版第 1.1 节(fa/01.1.md)为核心骨架,系统讲解 Go 开发环境的三种搭建路径:官方标准安装包、源码编译安装、第三方工具安装,并覆盖 32/64 位系统判断、环境变量(GOROOT / GOBIN / PATH / GOPATH)配置与安装成功后的验证方法。读完本文,你可以根据自身操作系统与使用习惯,独立完成一套可用的 Go 开发环境搭建,并能够自主排查"命令不存在"这类最常见安装故障。
一、三种安装方式总览
Go 提供了多种安装途径,可以按自己的习惯任选其一。本书第 1.1 节归纳出最常用的三种:
| 安装方式 | 适用人群 | 特点 |
|---|---|---|
| 官方标准安装包 | 大多数初学者 | 官方为 Windows、Linux、macOS 等提供打包好的安装包,下载对应系统位数的包后一路点击"下一步"即可完成 |
| 源码安装 | 熟悉 Unix 类系统的开发者 | 标准的软件源码安装方式,可从源码层面定制,也是理解 Go 工具链自举过程的最佳途径 |
| 第三方工具安装 | 熟悉各系统包管理器的用户 | 借助 Ubuntu 的apt-get/wget、macOS 的 Homebrew、跨平台的 GVM 等工具安装 |
另外,若需要在同一台机器上安装多个版本的 Go,文档推荐使用第三方工具 GVM(GitHub 上的 moovweb/gvm 项目,原文档引用),它是管理 Go 多版本最成熟的方案之一;若不想依赖该工具,也可以手动管理各版本。
二、方式一:从源码安装 Go
1. 编译前置条件:自举与 C 编译器
从源码编译 Go 对前置工具链的要求与 Go 版本强相关,本节给出了明确的分界:
- Go 1.5 及以上:Go 实现了自举(bootstrapping),即"编译 Go 需要 Go 本身"。因此系统上只需预先装好任一旧版本 Go,即可用它编译新版本。
- Go 1.4 及以下:工具链中仍有部分代码以 Plan 9 C 与 AT&T 汇编编写,因此必须额外准备一套 C 编译器。
各平台 C 编译器的准备方式:
- macOS:只要安装了 Xcode,就已包含所需编译工具。
- 类 Unix 系统:需安装
gcc或同类编译器,例如 Ubuntu 下执行:
sudo apt-get install gcc libc6-dev- Windows:先安装 MinGW,再通过 MinGW 安装
gcc,并记得在安装完成后配置环境变量。若使用 64 位 Windows,务必安装 64 位版本的 MinGW(这是原文特意加粗强调的注意点)。
2. 克隆源码并编译
进入希望存放源码的工作目录后(原文提醒:git clone会将源码克隆到当前目录,请先切换好工作路径,且整个编译过程会比较耗时),依次执行:
git clone https://go.googlesource.com/go cd go/src ./all.bash- Unix 风格系统执行
all.bash;Windows 下执行等效的all.bat,其底层调用的是 MinGW 自带的gcc。 - 编译脚本会同时运行工具链构建与全量测试,只有看到
ALL TESTS PASSED.字样才算安装成功,它代表所有测试均已通过。
3. 配置环境变量
Windows 的安装包会自动完成环境变量配置;而 Unix 类系统需要手动设置。若 Go 版本大于 1.0,则无需手动设置$GOBIN,它会自动与$GOROOT/bin关联(本书下一节会深入讨论):
export GOROOT=$HOME/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOROOT/bin为了让配置在每次登录时自动生效,建议将这些行追加到~/.bashrc或~/.zshrc(Windows 用户则写入系统环境变量)。
4. 验证安装是否成功
配置完成后,在终端输入go。若屏幕输出 Go 命令的 Usage(用法)信息,说明安装成功;若提示no such command("命令不存在"),则应检查$PATH是否包含 Go 的安装目录。下图即本书源码安装成功后执行go命令的典型输出(macOS 终端):
这一验证方法在后续所有安装方式中通用——只要go命令能打印出 Usage 信息,就代表工具链已经就绪。
三、方式二:官方标准安装包
Go 官方为所有受支持的操作系统提供一键安装包,默认安装目录为:
- Unix 类系统:
/usr/local/go - Windows:
c:\Go
安装目录可以自定义,但改动后必须同步手动修改环境变量,否则go命令无法被找到。
1. 先判断系统是 32 位还是 64 位
下载前必须先确认系统位数,三个平台各有方法:
- Windows:按
Win+R打开运行框,执行cmd进入命令行,输入systeminfo,在输出中找到"系统类型"一行——显示x64-based PC即为 64 位系统,否则为 32 位。 - macOS:Go 已不再支持 Mac 上的纯 32 位处理器,因此官方建议一律下载 64 位安装包。
- Linux:终端执行
uname -a查看内核信息。64 位系统输出类似:
<描述信息> x86_64 x86_64 x86_64 GNU/Linux // 部分发行版(如 Ubuntu 10.04)输出为 x86_64 GNU/Linux32 位系统输出类似:
<描述信息> i686 i686 i386 GNU/Linux2. macOS:pkg 安装包
前往 Golang 官方下载页(原文档引用):
- 64 位系统下载
go1.8.3.darwin-amd64.pkg(本书写作时的版本示例); - 32 位系统下载
go1.4.2.darwin-386.pkg(后续版本已不再提供 32 位包)。
双击安装包,一路点击"next"完成安装。安装成功后~/go/bin会被自动加入系统$PATH,打开终端输入go即可看到与上文图 1.1 相同的 Usage 输出。
3. Linux:tar.gz 解压安装
同样前往官方下载页:
- 64 位系统下载
go1.8.3.linux-amd64.tar.gz; - 32 位系统下载
go1.8.3.linux-386.tar.gz。
假设期望的安装目录为$GO_INSTALL_DIR,解压并配置 PATH:
tar zxvf go1.8.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR export PATH=$PATH:$GO_INSTALL_DIR/go/bin之后在终端输入go,输出应如图 1.1 所示。Linux 下安装成功后的实际终端输出参见下图(本书中文版 1.1 节中的对应截图):
4. Windows:MSI 安装包
- 64 位系统选择名称含
windows-amd64的包(如go1.8.3.windows-amd64.msi); - 32 位系统选择名称含
windows-386的包(如go1.8.3.windows-386.msi)。
运行 MSI 安装程序,一路点击"next"。安装完成后c:/go/bin会被自动追加到path环境变量。打开命令行窗口输入go,若能看到 Usage 信息即表示安装成功。若提示命令不存在,请检查path中是否包含c:/go/bin。
四、方式三:第三方工具安装
1. GVM:Go 多版本管理(类 rvm)
GVM(Go Version Manager)是第三方开发的 Go 多版本管理工具,用法类似 Ruby 生态的 rvm。先安装 gvm:
bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)再安装并切换到指定 Go 版本:
gvm install go1.8.3 gvm use go1.8.3执行完成后,GOPATH、GOROOT等环境变量会被 gvm 自动设置好,即可直接使用。如果你希望某版本成为默认版本、免去每次手动gvm use,可以使用gvm use go1.8.3 --default。这正是本章开头提到的"在同一台机器上维护多个 Go 版本"的最佳实践。
2. apt-get:Ubuntu 包管理器
Ubuntu 是最流行的 Linux 桌面发行版之一,使用apt-get管理软件包,可通过如下命令安装 Go:
sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-go3. wget:手动下载解压
不依赖 PPA 时,可以用wget直接拉取官方 tar.gz 包:
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local # Go 环境变量 export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN export GOPATH=$HOME/gopath第 1.1 节特别指出:从 Go 1.8 开始,GOPATH环境变量有了默认值——当它未被显式设置时,Unix 类系统默认为$HOME/go,Windows 默认为%USERPROFILE%/go。这一默认行为大大降低了新手配置门槛,也使上述export GOPATH=...变为可选项。
4. Homebrew:macOS 包管理器
Homebrew 是 macOS 上最常用的软件包管理工具,分两步安装 Go:
- 安装 Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"- 更新并安装 Go:
brew update && brew upgrade brew install go五、关于版本号与后续章节的衔接说明
需要说明的是,本文中的具体版本号(如go1.8.3、go1.4.2)取自本书写作年代(Go 1.8 时代)的实际示例,用于演示完整的下载、解压与命名规律。实际安装时请以 Golang 官方下载页(原文档引用)当前提供的最新版本为准,文件名命名规则保持一致(如goX.Y.Z.linux-amd64.tar.gz)。
本章在第 1.1 节之后的进阶内容还包括:
- 上一节 fa/01.0.md:Go 语言特性概览与环境配置总览;
- 目录总览见 fa/preface.md,全书 14 章覆盖了从 Go 基础语法、Web 基础、表单与数据库,到自研 Web 框架(第 13、14 章)的完整进阶路线;
- 下一节"$GOPATH 与工作空间"将深入讲解工作区目录结构,以及 Go 1.8 之后
GOPATH默认值、Go Module 等新机制(可对照 中文版同章节 与 英文版同章节 阅读)。
六、常见问题与排查
将第 1.1 节中零散的注意点汇总为排查清单,便于实战对照:
- 出现
no such command/ 命令不存在:优先检查$PATH(Windows 为path)是否包含 Go 安装目录下的bin目录,例如$GOROOT/bin、/usr/local/go/bin或c:/Go/bin。 - 自定义安装目录后失效:官方包默认装在
/usr/local/go(Windows 为c:\Go),一旦改到其他路径,必须同步手动更新环境变量,否则工具链无法被定位。 - Windows 源码编译失败:确认安装的是与系统位数一致的 MinGW(64 位 Windows 必须装 64 位 MinGW),并已完成环境变量配置。
- 源码安装始终不成功:编译结束标志必须是
ALL TESTS PASSED.,在此之前请检查 gcc 等前置编译器是否就绪。 - 多版本切换需求:优先使用 GVM 管理,避免手工维护多个 GOROOT 造成的混乱。
相关章节链接
- 章节目录:fa/preface.md
- 上一节:Go 环境配置
- 对照阅读:中文版 1.1 安装、英文版 1.1 Installation
- 附录资源:fa/ref.md
- 文档
- 教程
【免费下载链接】build-web-application-with-golang
A golang ebook intro how to build a web with golang
相关推荐
《build-web-application-with-golang》第 1.1 节精讲:Go 环境安装的三种方式与完整实战
《build web application with golang》第 1.1 节精讲:Go 环境安装的三种方式与完整实战 本篇技术指南以开源电子书《buil
文档教程在 Mac、Linux 与 Windows 上安装 Go 开发环境:三种安装方式全指南(build-web-application-with-golang 第 1.1 节)
在 Mac、Linux 与 Windows 上安装 Go 开发环境:三种安装方式全指南(build web application with golang 第
文档教程搭建 Go 开发环境:源码编译、官方安装包与第三方工具三条路线详解(Build Web Application with Golang 第 1.1 节)
搭建 Go 开发环境:源码编译、官方安装包与第三方工具三条路线详解(Build Web Application with Golang 第 1.1 节) 本篇技
文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考