linux安装Go语言开发包
- 默认读者会使用linux的基本操作
- 配置go语言的开发环境的第一步是要在go官网下载页面下载开发包
- linux需要下载tar.gz压缩文件
- 这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统或者有特殊的需求,则需要下载 32 位的开发包
- 在上图所示页面中向下滚动即可找到 32 位开发包的下载地址,如下图所示
- 注意,如果在ubuntu这样有图形化界面的linux操作系统,我们可以直接下载
- 没有图形化界面时,我们需要在命令行中操作
- 第一步:下载开发包
>> wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz
--2020-02-06 14:18:58-- https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz
Resolving dl.google.com (dl.google.com)... 203.208.50.168, 203.208.50.166, 203.208.50.163, ...
Connecting to dl.google.com (dl.google.com)|203.208.50.168|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 120071076 (115M) [application/octet-stream]
Saving to: 'go1.13.7.linux-amd64.tar.gz'
2020-02-06 14:19:19 (7.72 MB/s) - 'go1.13.7.linux-amd64.tar.gz' saved [120071076/120071076]
- 使用tar 命令解压刚刚下载的Go语言开发包到/usr/local目录
>> tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz
- 解压成功后会在/usr/local目录下新增一个 go 目录,至此我们的Go语言开发包就安装完成了。
- 使用
cd /usr/local/go
命令进入该目录,然后执行bin/go version 命令就可以查看当前Go语言的版本了。
>> bin/go version
go version go1.13.7 linux/amd64
- 使用ls命令,列出当前目录下的文件和文件夹
ls
AUTHORS CONTRIBUTING.md CONTRIBUTORS LICENSE PATENTS README.md SECURITY.md VERSION api bin doc favicon.ico lib misc pkg robots.txt src test
- 这个目录的结构遵守 GOPATH 规则,后面的章节会提到这个概念。目录中各个文件夹的含义如下表所示。
设置 GOPATH 环境变量
- 开始写 go 项目代码之前,需要我们先配置好环境变量。
- 需要把这几个环境变量添加 profile 文件中(~/.bash_profile 或 /etc/profile)。
- 如果是单用户使用,可以将环境变量添加在 home 目录下的 bash_profile 文件中,如果是多用户使用,需要添加在 /etc/profile 文件。(推荐大家在 /etc/profile 文件中设置环境变量)
- 使用编辑器例如
vim /etc/profile
命令打开 profile 文件,并将下面的环境变量添加到文件末尾。 - 添加完成后使用:wq 命令保存并退出。
- 然后,使用
source /etc/profile
命令使配置文件生效,现在就可以在任意目录使用Go语言命令了。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
- 环境变量设置好后,可以通过在命令行输入go env 命令来进行测试。
>> go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
参考资料
有疑问加站长微信联系(非本文作者)