如何修复钻孔"无法加载包装:包装内部"错误

时间:2016-09-12 20:44:48

标签: go visual-studio-code delve

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

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

5 个答案:

答案 0 :(得分:6)

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

  

无法加载包:package internal:没有可构建的Go源文件   C:\编码\转到\ SRC \内部

和' go build'工作没有任何错误

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

答案 1 :(得分:2)

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

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

// after changing 
"program": "${workspaceRoot}/src/github.com/myproje/hello",

答案 2 :(得分:1)

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

change in launch.json > 
 "program": "${fileDirname}"

答案 3 :(得分:1)

我遇到了同样的问题。当我检查时,{fileDirName}指向我的.vscode文件夹。因此,我只是手动给出了路径,它可以正常工作。

我替换了此

"program": "${fileDirname}"

与此

"program": "c:/Go/src/MyGoProject"

答案 4 :(得分:0)

如果Go安装正确,则此错误消息表示您正在尝试导入名为" internal"

的外部程序包

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

package main

func main() {
}

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