猿问

如何导入 vscode 路径

当我尝试编辑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\Go

GOSUMDB=sum.golang.org

GOFLAGS=

GOINSECURE=

GOPROXY=https://proxy.golang.org,direct

GO111MODULE=

GOCACHE=C:\Users\username\AppData\Local\go-build

GONOPROXY=

GOMOD=NUL

GOPRIVATE=

GOMODCACHE=C:\Users\username\go\pkg\mod

GONOSUMDB=

GOPATH=C:\Users\username\go


人到中年有点甜
浏览 210回答 2
2回答

倚天杖

也许您已经在 VSCode 中打开了具有以下格式的目录。example dir      |- project1           |- main.go           |- go.mod           ...      |- project2           |- main.go           |- go.mod           ...      |- project3           |- main.go           |- go.mod           ......打开包含多个 go.mod 文件的目录将导致此错误。解决方案是在 VSCode 中仅打开 project1 目录,只打开一个 go.mod 文件。

猛跑小猪

您可以通过运行 来初始化所谓的“go模块”,其中name通常是您的存储库URL。(例如 github.com/user/repo)go mod init <name>这将生成一个文件。在此处阅读有关&nbsp;go 模块的更多信息。go.mod
随时随地看视频慕课网APP

相关分类

Go
我要回答