配置go开发环境遇到2个错误
1.go: go.mod file not found in current directory or any parent directory; see 'go help modules'
这个问题是Go 1.11之后的版本引入了Go模块(Go Modules),Go Modules使用go.mod中标记的软件包的依赖版本。错误原因是找不到go.mod文件,需要通过go mod命令生成go.mod文件
$ go mod init golearning #golearning为项目名称
为了提高依赖的下载速度,使用了代理
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
执行完成后会在项目名称mycode目录下生成go.mod
2.$GOPATH/go.mod exists but should not
这个错误原因是开启Go module模块支持后,并不能与$GOPATH共存,所以把项目从$GOPATH中移出或者不要使用Go module模块即可。
删除GOPATH配置
如果使用GOPATH的方式指定路径,那么MODULE需要关闭
如果使用Go MODULE方式 ,那么需要删除GOPATH配置
扫描二维码关注公众号,回复:
17272542 查看本文章
使用Go Modules使用一个环境变量GO111MODULE
来决定使用Go Modules还是GOPATH,该变量有三个值,并在不同版本下有不同的语义
- GO111MODULE = on 不管在GOPATH 中还是外,都强制使用go.mod
- GO111MODULE = off 强制 Go 表现出 GOPATH 方式,即使在 GOPATH 之外
- GO111MODULE = auto 当有go.mod或者在GOPATH 之外,GO111MODULE = on,当处于 GOPATH 内且没有 go.mod 文件时,GO111MODULE = off