5

所以我在我的 windows 机器上安装了 VSCODE 作为我的主要 golang IDE,我想我总体上缺乏 go 知识让我遇到了这个看似无法解决的错误:我安装了 delve 并想将它用作我在 vscode-go 中的调试器。我按照https://github.com/Microsoft/vscode-go上的自述文件中提到的做了所有事情,但是由于某种原因,当我运行 dlv debug 时出现错误“无法加载包:包内部:没有可构建的 Go 源文件在 c:\go\src\internal 退出状态 1"。我在互联网上找不到与此文件夹相关的任何内容,但我自己从未在任何配置文件中输入 src/internal 的路径。所以这让我很困惑,因为我认为如果它是一个公共文件夹,至少应该有人遇到同样的错误。

它出现在 vscode 和命令提示符中,如果运行 dlv 测试也是如此。我也知道这不是我的文件夹结构/环境变量的问题,因为如果我删除它们,它还会抱怨我的包文件丢失,此外还会给出相同的 c:\go\src\internal 错误。似乎在某处也有一个设置可以检查该文件夹中的源文件,但我找不到该设置,并且在给我错误后 dlv 调试崩溃。

4

5 回答 5

6

最新的 delve 和 vscode 遇到了同样的问题:

无法加载包:包内部:C:\Coding\Go\src\internal 中没有可构建的 Go 源文件

并且“开始构建”工作没有任何错误

必须回退到以前版本的 delve 才能使其正常工作。似乎 delve 破坏了某些东西,或者只需要更新一些东西。似乎只需替换 %GOPATH%\bin 文件夹中的 dlv.exe 就足够了。我没有分享我的版本,因为它是 exe,但你可以找到它或从源代码构建

于 2016-09-13T09:03:14.940 回答
3

我通过更改launch.json 文件解决了看起来像相同问题的问题。

// before
"program": "${workspaceRoot}

// after changing 
"program": "${workspaceRoot}/src/github.com/myproje/hello",
于 2016-11-13T17:14:39.353 回答
2

我有同样的问题。当我检查时,{fileDirName} 指向我的 .vscode 文件夹。所以我刚刚手动给出了我的路径并且它有效。

我已经更换了这个

"program": "${fileDirname}"

有了这个

"program": "c:/Go/src/MyGoProject"
于 2020-10-18T12:25:47.890 回答
1

同样的问题(vscode/linux/go1.8) 解决方法:

change in launch.json > 
 "program": "${fileDirname}"
于 2017-03-21T14:04:11.623 回答
0

如果 Go 安装正确,则此错误消息表明您正在尝试导入名为“internal”的外部包

编译一个没有导入的空程序,看看问题是否仍然存在,例如。

package main

func main() {
}

您应该不会在此处看到任何错误。如果你这样做了,那很可能表明 Go 没有正确安装。

于 2016-09-12T22:16:29.733 回答