简述Ubuntu系统下安装golang以及配置代理的过程。在使用Go1.10版本时发现代理配置问题比较多,改成1.14版本后很轻松就配置完成,因此建议安装go1.14及以上版本。
安装
由于apt只能安装1.10及以下版本的go,1.10以上需要snap,而snap无镜像,因此建议直接访问https://golang.google.cn,下载压缩包,如go1.14.linux-amd64.tar.gz
。之后,创建/usr/local/go
文件夹,然后将下载的压缩包解压到其中 - sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
.
修改~/.profile
,将export PATH=$PATH:/usr/local/go/bin
添加到其中,即添加到环境变量。
然后就可以使用go了。
代理配置
https://goproxy.io/zh/描述了如何配置代理:
# 开启包管理工具
go env -w GO111MODULE=on
# 设置代理
go env -w GOPROXY=https://goproxy.io,direct
# 设置不走 proxy 的私有仓库,多个用逗号相隔(可选)
go env -w GOPRIVATE=*.corp.example.com
环境变量GO111MODULE
开启或关闭模块支持,它有三个值:off、on、auto,默认值是 auto。
GO111MODULE=off
无模块支持,go会从GOPATH
和vendor
文件夹寻找包。GO111MODULE=on
模块支持,go 会忽略GOPATH
和vendor
文件夹,只根据 go.mod 下载依赖。GO111MODULE=auto
在$GOPATH/src
外面且根目录有go.mod
文件时,开启模块支持。
在使用模块的时候,GOPATH
是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/src/mod
中,也会把 go install
的结果放在 $GOPATH/bin
中。
配置完后,VSCode就可以安装需要的golint, gopkg
之类的工具了,不过由于github在国内的问题,因此命令行开个全局代理也是有必要的,export http_proxy=http://xxx:xxx。