查看安装的包和版本
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"
完成。