与大多数开源软件一样,Go安装包也分为二进制包、源码包。二进制包为基于源码编译出各个组件,并把这些组件打包在一起供人下载和安装,源码包为 Golang语言源码,供人下载、编译后自行安装。

接下来我们以安装二进制包(go1.12.7.linux-amd64.tar.gz)为例进行说明安装过程。

Go语言安装比较简单,大体上分为三个步骤:

  • 安装可执行命令
  • 设置PATH环境变量
  • 设置GOPATH环境变量

1. 安装可执行命令

二进制安装包中包含二进制、文档、标准库等内容,我们需要将该二进制完整的解压出来。

一般使用/usr/local/go来存放解压出来的文件,这个目录也就是GOROOT,即GO的根目录。下接使用tar命令将安装包解压到指定目录即可:

  1. tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz

2. 设置PATH环境变量

Go的二进制可执行文件存在于$GOROOT/bin目录,需要将该目录加入到PATH环境变量中。

比如,把下面语句放入/etc/profile文件中。

  1. export PATH=$PATH:/usr/local/go/bin

3. 设置GOPATH环境变量

Linux下,自Go 1.8版本起,默认把$HOME/go作为GOPATH目录,可以根据需要设置自已的GOPATH目录。

如需要设置不同的GOPATH目录,可以将其放入~/.bash_profile中。

  1. export GOPATH=$HOME/mygopath

即便使用GOPATH默认目录,推荐也把它加入到环境变量中,这可以让bash识别GOPATH变量。

这里需要注意的是,GOPATH值不可以与GOROOT相同,因为如果用户的项目与标准库重名会导致编译时产生歧义。

4. 测试安装

安装完成后,可以写个小程序验证一下,验证前建议重新登录,以便让环境变量生效。

创建$GOPATH/src/hello/hello.go文件:

  1. package main
  2. import "fmt"
  3. func main() {
  4. fmt.Printf("hello, world\n")
  5. }

接着进入$GOPATH/src/hello编译并执行:

  1. # cd $GOPATH/src/hello
  2. # go build
  3. # hello
  4. hello, world

程序能正常输出hello, world就表示安装完成了。