【笔记】Go配置环境变量

前言

Go配置环境变量

查看Go环境变量

1
go env

修改Go环境变量

1
go env -w <key>=<value>

配置GOROOT

  • 指定Go的安装位置
1
go env -w GOROOT="/usr/local/go"

配置GOPATH

  • 当GOPATH管理项目时,指定Go项目的根目录

Linux/MacOS默认在~/go
Windows默认在c:\go

1
go env -w GOPATH=""

配置GO代理

  • 下载Go模块时候的代理地址

<proxy>:代理地址

https://proxy.golang.org,direct:缺省值,官方代理
https://goproxy.io,direct:国内代理
https://goproxy.cn,direct:七牛云国内代理
https://mirrors.aliyun.com/groxy,direct:阿里云国内代理

1
go env -w GOPROXY="<proxy>"

配置项目依赖管理方式

"":缺省值,不配置项目管理项目依赖方式
on:使用GOMOD的方式管理项目依赖
off:使用GOPATH的方式管理项目依赖
auto:自动识别管理项目依赖方式

1
go env -w GO111MODULE=on

修改Go环境变量的方式

临时修改环境变量

Windows

CMD & PowerShell
1
SET <key>=<value>
PowerShell
1
$env:<key>=<value>

Linux & MacOS

1
export <key>=<value>

写入到Go配置文件

Windows & Linux & MacOS

1
go env -w <key>=<value>

写入到Shell配置文件

Linux & MacOS

BashShell
1
echo "export <key>=<value>" >> ~/.bash_profile
ZShell
1
echo "export <key>=<value>" >> ~/.zshrc

报错

  • 报错:warning: go env -w GOPROXY=... does not override conflicting OS environment variable

原因

  • 之前使用的系统环境变量设置Go环境变量,此时不能使用go env -w来修改Go环境变量

解决问题

  • 删除系统环境变量中的指定Go环境变量

从根本解决问题

~/.zshrc
1
#export GOPROXY=""

临时解决问题

1
unset GOPROXY

完成

参考文献

飞雪无情
goproxy.io
博客园——不忘前行