Go语言入门 - 环境搭建(二)

上一篇写的比较简单,这里介绍下Go常用的一些环境变量。

执行go env后可以看到当前go使用的环境变量:
在这里插入图片描述

  • GOROOT 就是go命令所在的路径,默认值是/usr/local/go/bin,其中/usr/local/go下面还有一些go自带的官方包。
  • GOPATH 是个历史遗留问题,等go的包管理工具再完善下就废弃了,但现在先配上,还有用,go mod的缓存默认会放在这个路径下。我一般习惯把它定义到$HOME/Workspace下,可根据你自己的需要修改。
  • GOBIN 一般用来存放一些第三方的、go相关的可执行文件,比如你用vscode的话,就需要下一堆东西放在这个目录下。或者在你自己的项目里执行go install命令的话,也会默认把编译后的可执行文件放在这。
  • PATH=$PATH:$GOROOT:$GOBIN这个就是把有可执行文件的目录GOROOTGOBIN追加到系统环境变量$PATH里,在命令行输入命令后,操作系统可以去这里面搜索。
  • GO111MODULE
    意思是是否对项目启用go mod来管理依赖,这个建议设置成auto,最好是设置成on,毕竟go mod是趋势。
  • GOPROXY
    因为go的很多包都在github上,还有些依赖在golang.org上,国内build的时候基本下不下来,所以需要配置一个代理,现在用的比较多的是 https://goproxy.io/zh/,配置下GOPROXY即可正常拉取。
  • GOPRIVATE
    一些同学项目里肯定引用了自己公司的gitlab私有仓库,所以还需要配下GOPRIVATE,表示拉取私有仓库时不走GOPROXY配置的代理。

以上环境变量可以在两个地方去定义:

  • shell的预加载文件(一般为~/.bashrc,使用zsh的用户为~/.zshrc)
  • go专门的环境变量配置文件,具体文件位置可通过命令go env GOENV查看。

    可通过go env -w key=value命令直接修改该文件在这里插入图片描述

以下是我自己~/.bashrc里追加的配置

# 比较通用的配置
export GOROOT=/usr/local/go/bin
export GOPATH=$HOME/Workspace
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT:$GOBIN

# 这几个配置放在这或者使用`go env -w k=v`都可以
export GO111MODULE=auto
export GOPROXY="https://goproxy.io,direct"
# export GOPRIVATE=git.hello.com

如果遇到使用go get私有仓库报错或者go build时不能正常拉取私有仓库,还需要做如下配置
编辑~/.gitconfig文件,新增以下内容,注意将git.hello.com换成你实际使用的git仓库地址。

[url "ssh://git.hello.com/"]
		insteadOf = https://git.hello.com/

猜你喜欢

转载自blog.csdn.net/weixin_52777294/article/details/113201535