下载安装包
到官网找到go的安装包,根据操作系统和架构,选择对应的包。这里以linux为例
解压
将下载下来的二进制包解压到/usr/local/目录下
代码语言:bash复制tar -zxvf go1.19.13.linux-amd64.tar.gz -C /usr/local/
修改环境变量
代码语言:bash复制vim ~/.bash_profile
将/usr/local/go/bin添加到PATH中
如果环境中已经存在预装的其他版本的go,又想优先使用新安装的版本。那么可以把/usr/local/go/bin添加到PATH的前面
go环境的一些配置
代码语言:bash复制go env -w GO111MODULE="on"
go env -w GOPROXY="https://goproxy.cn,direct" # 根据实际需要配置
go env -w GOPRIVATE=""
go env -w GONOSUMDB="git.xxx.xxx.com" # 根据实际需要配置
配置完成后,可以使用go env查看修改后的配置
这里一些go env配置的说明
配置名 | 说明 |
---|---|
GO111MODULE | go官方自带的依赖管理库,在1.13版本开始正式退出。默认值为空(由go自行判断是否开启module,判断依据为当前项目根目录下是否有go.mod文件)。可以手工修改为on(全部开启)或者off(全部不开启,不建议) |
GOPROXY | go的全局代理,下载依赖包使用。一般都是访问github仓库,国内经常访问不到,所以最好设置一个速度快的代理 |
GOPATH | go 1.11版本之前,GOPATH主要用于指定我们开发工作区,是存放源代码、测试文件、库静态文件、可执行文件的目录。1.11版本引入module后,GOPATH的作用就不大了。在开启go module功能后,使用go get下载的依赖包就存放在$GOPATH/pkg/mod目录下 |
GOMODCACHE | 存放下载的依赖包的目录,默认值为$GOPATH/pkg/mod,修改gopath值那么这个值也会响应变化 |
GOCACHE | 存放go项目构建过程中产生的缓存 |
GOENV | 存放go环境变量的配置文件。这个值一般不需要修改 |
GOROOT | go语言的安装目录,这个值切记不用修改,保持默认即可 |
GOSUMDB | 官方设定的go module校验库。服务器地址为sum.golang.org。和go.mod一样,go会为我们维护一个go.sum的文件,它包含了对依赖包计算得到的校验值。当本地依赖进行变动时(更新/添加)操作时,go会自动去这个服务器进行数据校验。如果GOSUMDB为“off”或者使用go get时启用了-insecure参数,go不会对下载的依赖包做安全校验 |
GONOSUMDB | 设置不做校验的代码仓库,可以多个路径,逗号间隔。如果我们代码库或者模块是私有的,那么它的校验值肯定不会出现在互联网的公共数据库里面,但项目本地编译的时候默认所有的依赖下载都会去尝试校验,这样不仅校验失败,更会泄露一些私有仓库的路径等信息。这个时候可以使用这个配置项来屏蔽某些代码库的校验动作 |