卸载旧版本
查看安装的包和版本
sudo apt list --installed | grep golang
我的环境是这样的,这是ubuntu19通过apt安装到的最新版的go,但是我想要的是1.13.
golang-1.12-go/eoan,now 1.12.10-1ubuntu1 amd64 [installed,automatic] golang-1.12-race-detector-runtime/eoan,now 0.0+svn332029-0ubuntu1 amd64 [installed,automatic] golang-1.12-src/eoan,now 1.12.10-1ubuntu1 amd64 [installed,automatic] golang-go/eoan,now 2:1.12~1ubuntu1 amd64 [installed] golang-race-detector-runtime/eoan,now 2:1.12~1ubuntu1 amd64 [installed,automatic] golang-src/eoan,now 2:1.12~1ubuntu1 amd64 [installed,automatic]
卸载安装的go
sudo apt remove golang-1.12-go sudo apt autoremove
安装新版本
下载最新版
想要其他版本请直接去官网下载页面去下载,当然,有墙,国内一般进不去。但是可以在ubuntu里面直接wget下载到。或者直接直接去官方镜像站下载:https://golang.google.cn/dl/
sudo wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
安装到/usr/local
下面
sudo tar -xvf go1.13.4.linux-amd64.tar.gz sudo mv go /usr/local
设置环境变量
环境变量需要设置的是GOROOT
、GOPATH
、PATH
GOROOT
是安装Go软件包的位置,GOPATH
是工作目录的位置
要设置全局环境变量就把下面代码写入/etc/profile
或者/etc/bashrc
,用户变量就写入~/.profile
,或者~/.bashrc
.
export GOROOT=/usr/local/go export GOPATH=$HOME/Projects/go export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Linux环境变量设置/etc/profile
、/etc/bashrc
、~/.profile
、~/.bashrc
区别
登入系统读取步骤:
当登入系统时候获得一个shell进程时,其读取环境设定档有三步 :
- 首先读入的是全局环境变量设定档
/etc/profile
,然后根据其内容读取额外的设定的文档,如/etc/profile.d
和/etc/inputrc
- 然后根据不同使用者帐号,去其家目录读取
~/.bash_profile
,如果这读取不了就读取>~/.bash_login
,这个也读取不了才会读取~/.profile
,这三个文档设定基本上是一样的,读取有优先关系 - 然后在根据用户帐号读取
~/.bashrc
/etc/*
和~/.*
区别:
/etc/profile
,/etc/bashrc
是系统全局环境变量设定~/.profile
,~/.bashrc
是用户家目录下的私有环境变量设定
~/.profile
与~/.bashrc
的区别:
都具有个性化定制功能~/.profile
可以设定本用户专有的路径,环境变量等,它只在登入的时候执行一次~/.bashrc
也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次
验证
验证版本
go version
go version go1.13.4 linux/amd64
查看环境变量。
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/Projects/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build746018860=/tmp/go-build -gno-record-gcc-switches"
完成。