首次编写Go代码遇构建错误:GOPATH设为GOROOT无效且找不到主模块
解决Go代码构建错误:找不到主模块及GOPATH与GOROOT冲突问题
问题还原
你的Go代码如下:
package main import "fmt" func main() { fmt.Println("hello world") }
运行时触发构建错误,报错信息:
Build Error:
warning: GOPATH set to GOROOT (C:\Users\Admin\go) has no effect
go: cannot find main module, but found .git/config in d:\GO\practise
to create a module there, run: go mod init (exit status 1)
错误原因
- GOPATH被设置成了GOROOT(Go的安装目录),这在Go模块模式下完全无效,Go会直接忽略这个错误配置
- 代码所在目录
d:\GO\practise未初始化Go模块,Go 1.13及以后版本默认启用模块模式,必须生成go.mod文件才能完成项目构建
解决步骤
修正GOPATH配置
打开VSCode设置(快捷键Ctrl+,),搜索go.gopath,将其改为一个非Go安装目录的路径,比如d:\GO\gopath。也可以直接修改系统环境变量中的GOPATH,确保路径与Go安装目录(C:\Users\Admin\go)不重复。初始化Go模块
打开终端,切换到代码所在目录:cd d:\GO\practise执行模块初始化命令(模块名可自定义,比如用项目名称):
go mod init practise执行后目录下会生成
go.mod文件,Go会自动处理后续的依赖管理工作。重新运行代码
返回VSCode重新运行代码,此时应该能正常构建并输出hello world。
内容的提问来源于stack exchange,提问作者job
相关产品推荐
相关产品推荐

