【GO】GOPATH/GOROOT环境配置

配置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配置 

使用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

猜你喜欢

转载自blog.csdn.net/smallbirdnq/article/details/134022910