linux下的golang环境配置

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

一.安装

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

问题顺利解决

猜你喜欢

转载自blog.csdn.net/OzhangsenO/article/details/78990237