Go 语言支持以下系统:
- Linux
- FreeBSD
- Mac OS X(也称为 Darwin)
- Windows
安装包下载地址为:https://golang.org/dl/。
如果打不开可以使用这个地址:https://golang.google.cn/dl/。
各个系统对应的包名:
操作系统 | 包名 |
---|---|
Windows | go1.4.windows-amd64.msi |
Linux | go1.4.linux-amd64.tar.gz |
Mac | go1.4.darwin-amd64-osx10.8.pkg |
FreeBSD | go1.4.freebsd-amd64.tar.g |
windows安装Go语言开发包
双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“I accept ...”然后点击“Next”即可。
在 Windows 系统下Go语言开发包会默认安装到 C 盘的 Go 目录下,推荐在这个目录下安装,使用起来较为方便。当然,你也可以选择其他的安装目录,确认无误后点击“Next”,如下图所示:
Go语言开发包的安装没有其他需要设置的选项,点击“Install”即可开始安装,如下图所示:
等待程序完成安装,然后点击“Finish”退出安装程序。
ubuntu/debian
在debian或ubuntu上,我们可使用 apt-get 命令安装go。比如,在Ubuntu 16.04.5 LTS系统,使用如下命令安装:
sudo apt-get update // 视情况决定是否更新
sudo apt-get install golang-go
如果是新建的系统,建议先update下软件源。否则可能会因为某些源异常而无法顺利安装。
centos/redhat
在centos或redhat上,我们可以使用yum命令安装go。比如,在CentOS 7.5上,使用如下命令安装:
$ yum epel-release
$ yum install golang
先下载了epel-releaes源,可防止出现yum安装golang不支持或版本太旧的问题。
macos
在macos上,我们可使用pkg文件或homebrew安装go。
pkg的安装方式与windows的setup.exe/msi的类似,下载软件然后按导航 "下一步" "下一步" 即可完成。
来说说如何使用homebrew安装。和yum和apt-get不同,homebrew并非mac系统自带,我们需要先安装。进入homebrew官网,页面顶部便说明了安装的方式,命令如下:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
接着安装go,命令如下:
$ brew install go
非常简单就完成了安装。
系统安装方式的优点是简单。缺点是我们不能保证系统提供给的版本一定能满足我们的要求,比如上面ubuntu安装的go版本就较低,为go1.6。
源码编译
下载源码,最新版源码可点击 go1.12.2.src.tar.gz 下载。这里多说几句,go的源码托管在github上,地址:https://github.com/golang/go,如想提前尝试新功能,可直接从github拉取最新的代码编译。这也是源码编译安装的一个好处。
源码下载完成后进入源码目录即可编译。注意,如果用虚拟机编译,要保证有充足的内存。
$ tar zxvf go1.12.2.src.tar.gz // 解压源码包
$ cd go/src
$ ./all.sh
执行./all.sh即可完成编译安装,也挺简单的。这个过程会耗费一旦时间,要等待会。其实这里简化了很多细节,如果想仔细研究的话,可以去阅读官方文档 install go from source。
1、下载二进制包:go1.4.linux-amd64.tar.gz。
2、将下载的二进制包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
3、将 /usr/local/go/bin 目录添加至PATH环境变量:
export PATH=$PATH:/usr/local/go/bin
注意:MAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装,安装目录在 /usr/local/go/ 下。
环境变量
在安装完golang后,还需了解三个环境变量,分别是GOROOT、GOPATH、PATH。下面来分别介绍一下它们的作用。
GOROOT
GO安装的根目录。该变量在不同的版本需要选择不同的处理方式。
在 GO 1.10 之前,我们需要视不同安装方式决定是否手动配置。比如源码编译安装,安装时会有默认设置。而采用二进制包安装,在windows系统中,推荐安装位置为C:\GO,在Linux、freeBSD、OS X系统,推荐安装在/usr/local/go下。如果要自定义安装位置,必须手动设置GOROOT。如果采用系统方式安装,这一切已经帮我们处理好了。
PATH
各个操作系统都存在的环境变量,用于指定系统可执行命令的默认查找路径,在不写完整路径情况下执行命令。
以Windows为例,我之前把go安装在 C:\Program Files\go目录下,即GOROOT为C:\Program Files\go,那么PATH变量可追加上C:\Program Files\go\bin。
GOPATH
如果有朋友了解python,可以将其类比为python的环境变量PYTHONPATH,用来设置我们的工作目录,即编写代码的地方。包也都是从GOPATH设置的路径中寻找。
在go 1.8之前,该变量必须手动设置。go 1.8及之后,如果没有设置,默认在$HOME/go目录下,即你的用户目录中的go目录下。
类unix系统环境变量的设置方式:使用export命令设置环境变量,并将命令加入到/etc/profile,该文件会在开启shell控制台的情况下执行。具体操作命令如下:
$ sudo vim /etc/profile
...
export GOROOT=/usr/local/go // 默认位置可不用设置,1.10版本后也可以不设置
export PATH=$PATH:$GOROOT/bin
export GOPATH=/Users/polo/work/go // 可设置多个目录
需要重启下控制台。接着我们可以用go env看一下变量的配置情况。
GOPATH
在弹出的菜单里找到 GOPATH 对应的选项点击编辑之后就可以修改了,没有的话可以选择新建,并将变量名填写为 GOPATH,变量值设置为任意目录均可(尽量选择空目录),例如 D:\Go。
提示:填写完成后,每个打开的窗口都需要点击“确定”来保存设置。
配置Go代理增加golang包的下载速度 :https://goproxy.cn/
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
macOS 或 Linux 打开你的终端并执行
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
或者
$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile
Windows打开你的 PowerShell 并执行
C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"
或
1. 打开“开始”并搜索“env”
2. 选择“编辑系统环境变量”
3. 点击“环境变量…”按钮
4. 在“<你的用户名> 的用户变量”章节下(上半部分)
5. 点击“新建…”按钮
6. 选择“变量名”输入框并输入“GO111MODULE”
7. 选择“变量值”输入框并输入“on”
8. 点击“确定”按钮
9. 点击“新建…”按钮
10. 选择“变量名”输入框并输入“GOPROXY”
11. 选择“变量值”输入框并输入“https://goproxy.cn”
12. 点击“确定”按钮
在GOPATH正确配置在环境变量下且明明已经使用go get下载对应的第三方包,在程序能正常运行的情况下,vscode却总是提示没有找到对应包,飘红线,且在代码书写时无法自动进行补全。
原因网上大神说的原因是:vscode还没有很好的兼容go mod
解决办法
1.go mod init main(建立mod)
2.go mod vendor (把mod中的包依赖在复制一份到当前目录)
在依赖包下载完成后可以把env:GO111MODULE 的值改为auto也可以解决红色波浪线问题