一.安装
这里以安装golang1.9为例:
1.首先通过命令行直接安装
sudo apt-get install golang-1.9
2.下载好之后,查看go的版本
catik@catik-Aspire-V3-471:~$ go version
go version go1.9.2 linux/amd64
可以看得出,这里的版本是go1.9.2
二.环境配置
1.查看环境变量:
catik@catik-Aspire-V3-471:~$ go env
GOARCH=”amd64”
GOBIN=””
GOEXE=””
GOHOSTARCH=”amd64”
GOHOSTOS=”linux”
GOOS=”linux”
GOPATH=”/home/catik/godownload/”
GORACE=””
GOROOT=”/usr/lib/go”
GOTOOLDIR=”/usr/lib/go/pkg/tool/linux_amd64”
GCCGO=”gccgo”
CC=”gcc”
GOGCCFLAGS=”-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build504408127=/tmp/go-build -gno-record-gcc-switches”
CXX=”g++”
CGO_ENABLED=”1”
CGO_CFLAGS=”-g -O2”
CGO_CPPFLAGS=””
CGO_CXXFLAGS=”-g -O2”
CGO_FFLAGS=”-g -O2”
CGO_LDFLAGS=”-g -O2”
PKG_CONFIG=”pkg-config
这里几个比较关键的变量 GOPATH 和GOROOT
GOPATH是go get指令默认下载和安装包的位置,通过go get指令,获取go的包,默认下载到GOPATH所指示的目录中.
GOROOT是go安装的位置,也是go可执行文件的位置,也就是说,当我们命令行中打出go的指令时,系统能不能准确调用go的可执行文件
这里GOROOT=”/usr/lib/go”
通过以下命令
cd /usr/lib/go
ls
就可以看到
catik@catik-Aspire-V3-471:/usr/lib/go$ ls
bin doc favicon.ico.gz go pkg src test VERSION
bin中存的就是go的可执行文件了,我们可以试一下:
catik@catik-Aspire-V3-471:/usr/lib/go/bin$ ./go version
go version go1.9.2 linux/amd64
这与我们在命令行中直接输入go是一样的
2.配置环境变量
默认的时候,GOPATH是没有配置好的,那么我们怎么修改这些环境变量呢
首先,我们可以按照自己的意愿,在一个位置建一个文件夹,比如
mkdir /home/catik/GoDownload
然后,配置环境变量有三个方法:
一:最根本的方法就是修改/etc/profile文件
sudo gedit /etc/profile
*注意这里必须要sudo,因为系统目录下的文档不允许任意修改的
在最后添加export GOPATH=/home/catik/GoDownload
这个办法修改是对所有的用户都生效的,修改之后要重启就会另修改生效二:这个办法也可以,修改用户目录下的.profile文件
比如这里是/home/catik/.profile
通过gedit /home/catik/.profile打开之后就能修改了
修改的方法跟第一种是一样的,就是再最后添加
export GOPATH=/home/catik/GoDownload三:临时性的起作用,只有本次生效,当你关闭terminal之后,不再生效
直接在命令行中
catik@catik-Aspire-V3-471:~$ export GOPATH=/home/catik/GoDownload
升级系统的golang
如果你的电脑中已经安装了golang,但是,并不是最新版的,那么把你的电脑中的golang升级到最新的版本呢
比如原来安装的是go1.6,最新的版本为go1.9,
首先卸载电脑中的老版本
sudo apt-get remove golang-1.6
然后安装最新版的
sudo apt-get install golang-1.9
等待安装好之后,发现
go version
version 还是1.6,竟然不管用?重启电脑,还是这样,那么问题出在哪里了呢
我们循着GOROOT的地方去看看
catik@catik-Aspire-V3-471: cd /usr/lib/go
catik@catik-Aspire-V3-471: ls
bin doc favicon.ico.gz go pkg src test VERSION
catik@catik-Aspire-V3-471: cat VERSION
go1.6
这样我们就看出来了原来这里的go还是原来的可执行文件,原来卸载之后并没有把这里的文件卸载干净,这里的可执行文件也没有变。
所以我们把1.9版本的go的文件复制到这里来,顺便说一句,原来的这个go文件夹是一个硬链接,连接的目标是原来的go-1.6文件夹,当我们安装好go-1.9之后,这两个文件夹同时存在,这里我们需要把go-1.6删除
sudo rm go-1.6 -r
把原来的链接文件也删除
sudo rm go -r
建一个新的go文件夹
sudo mkdir go
把go-1.9中的全部文件复制过去
sudo cp ./go-1.9/* ./go
再次查看go的版本
go version
go-1.9.2
问题顺利解决