Ubuntu下安装和配置golang(包括升级)

  • A+
所属分类:系统文档

一.安装

这里以安装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

问题顺利解决

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: