当我尝试编辑go文件时,我收到来自vscode的以下错误:“加载工作区时出错:您位于模块之外,$GOPATH/src 之外。如果您使用的是模块,请打开编辑器到模块中的目录。如果您认为此警告不正确,请提出问题:https://github.com/golang/go/issues/new”。我的 go 路径设置如下:GOPATH=C:\Users\myusername\go我有vscode,在其他机器上一起工作很好...但我不知道这里出了什么问题。我还是新来的,所以我对GOPATH的意义有点困惑。从go文档中说:“GOPATH环境变量指定工作区的位置”对于工作区的定义,文档说:“工作区是一个目录层次结构,其根部有两个目录:”因此,从文档所说的内容和vscode所抱怨的是,我在路径“C:\Users\myusername\go”之外有我的代码...显然,go并不期望我在计算机上的“C:\Users\myusername\go”位置完成所有工作。那么它在抱怨什么呢?这是我的“gopls -rpc.trace -v check go_practice.go”命令的输出:2021/04/21 16:05:23 Info:2021/04/21 16:05:23 go env for C:\projects\go_practice(root C:\projects\go_practice)(go version go version go1.16.3 windows/amd64)(valid build configuration = false)(build flags: [])GOROOT=C:\Program Files\GoGOSUMDB=sum.golang.orgGOFLAGS=GOINSECURE=GOPROXY=https://proxy.golang.org,directGO111MODULE=GOCACHE=C:\Users\username\AppData\Local\go-buildGONOPROXY=GOMOD=NULGOPRIVATE=GOMODCACHE=C:\Users\username\go\pkg\modGONOSUMDB=GOPATH=C:\Users\username\go
2 回答

倚天杖
TA贡献1828条经验 获得超3个赞
也许您已经在 VSCode 中打开了具有以下格式的目录。
example dir
|- project1
|- main.go
|- go.mod
...
|- project2
|- main.go
|- go.mod
...
|- project3
|- main.go
|- go.mod
...
...
打开包含多个 go.mod 文件的目录将导致此错误。解决方案是在 VSCode 中仅打开 project1 目录,只打开一个 go.mod 文件。

猛跑小猪
TA贡献1858条经验 获得超8个赞
您可以通过运行 来初始化所谓的“go模块”,其中name通常是您的存储库URL。(例如 github.com/user/repo)go mod init <name>
这将生成一个文件。在此处阅读有关 go 模块的更多信息。go.mod
- 2 回答
- 0 关注
- 209 浏览
添加回答
举报
0/150
提交
取消