如何修复 delve "can't load package: package internal" 错误
How to fix delve "can't load package: package internal" error
所以我在我的 windows 机器上安装了 VSCODE 作为我的主要 golang IDE 我想我对围棋知识的整体缺乏让我遇到了这个看似无法解决的错误:
我安装了 delve 并想将它用作 vscode-go 中的调试器。我做了 https://github.com/Microsoft/vscode-go 自述文件中提到的所有操作,但由于某些原因,当我 运行 dlv 调试时出现错误 "can't load package: package internal: no buildable Go source files in c:\go\src\internal exit status 1"。我在互联网上找不到与此文件夹相关的任何内容,但我自己从未在任何配置文件中输入 src/internal 的路径。所以这让我真的很困惑,因为我认为如果它是一个普通文件夹,那么至少应该有人遇到过一次同样的错误。
它同时出现在 vscode 和命令提示符中,如果 dlv 测试是 运行。我也知道这不是我的文件夹 structure/env 变量的问题,因为它抱怨我的包文件也丢失了,如果我删除它们除了也会给出相同的 c:\go\src\internal 错误。似乎某处也有一个设置来检查该文件夹中的源文件,但我找不到该设置,并且 dlv 调试在给我错误后崩溃。
如果 Go 安装正确,此错误消息表示您正在尝试导入名为 "internal"
的外部包
编译一个没有导入的空程序,看看问题是否仍然存在,例如。
package main
func main() {
}
您应该不会在此处看到任何错误。如果您这样做,则很可能表明 Go 未正确安装。
与最新的 delve 和 vscode:
有同样的问题
can't load package: package internal: no buildable Go source files in
C:\Coding\Go\src\internal
和'go build'工作没有任何错误
必须回退到以前版本的 delve 才能使其正常工作。似乎 delve 破坏了某些东西或只需要更新一些东西。似乎只需替换 %GOPATH%\bin 文件夹中的 dlv.exe 就足够了。我没有分享我的版本,因为它是 exe,但你可以找到它或从源代码构建它
我通过更改 launch.json 文件解决了我的问题,看起来是同样的问题。
// before
"program": "${workspaceRoot}
// after changing
"program": "${workspaceRoot}/src/github.com/myproje/hello",
同样的问题 (vscode/linux/go1.8)
解决方案:
change in launch.json >
"program": "${fileDirname}"
我遇到了同样的问题。当我检查时,{fileDirName} 指向我的 .vscode 文件夹。所以我刚刚手动给出了我的路径并且它有效。
我已经替换了这个
"program": "${fileDirname}"
用这个
"program": "c:/Go/src/MyGoProject"
所以我在我的 windows 机器上安装了 VSCODE 作为我的主要 golang IDE 我想我对围棋知识的整体缺乏让我遇到了这个看似无法解决的错误: 我安装了 delve 并想将它用作 vscode-go 中的调试器。我做了 https://github.com/Microsoft/vscode-go 自述文件中提到的所有操作,但由于某些原因,当我 运行 dlv 调试时出现错误 "can't load package: package internal: no buildable Go source files in c:\go\src\internal exit status 1"。我在互联网上找不到与此文件夹相关的任何内容,但我自己从未在任何配置文件中输入 src/internal 的路径。所以这让我真的很困惑,因为我认为如果它是一个普通文件夹,那么至少应该有人遇到过一次同样的错误。
它同时出现在 vscode 和命令提示符中,如果 dlv 测试是 运行。我也知道这不是我的文件夹 structure/env 变量的问题,因为它抱怨我的包文件也丢失了,如果我删除它们除了也会给出相同的 c:\go\src\internal 错误。似乎某处也有一个设置来检查该文件夹中的源文件,但我找不到该设置,并且 dlv 调试在给我错误后崩溃。
如果 Go 安装正确,此错误消息表示您正在尝试导入名为 "internal"
的外部包编译一个没有导入的空程序,看看问题是否仍然存在,例如。
package main
func main() {
}
您应该不会在此处看到任何错误。如果您这样做,则很可能表明 Go 未正确安装。
与最新的 delve 和 vscode:
有同样的问题can't load package: package internal: no buildable Go source files in C:\Coding\Go\src\internal
和'go build'工作没有任何错误
必须回退到以前版本的 delve 才能使其正常工作。似乎 delve 破坏了某些东西或只需要更新一些东西。似乎只需替换 %GOPATH%\bin 文件夹中的 dlv.exe 就足够了。我没有分享我的版本,因为它是 exe,但你可以找到它或从源代码构建它
我通过更改 launch.json 文件解决了我的问题,看起来是同样的问题。
// before
"program": "${workspaceRoot}
// after changing
"program": "${workspaceRoot}/src/github.com/myproje/hello",
同样的问题 (vscode/linux/go1.8) 解决方案:
change in launch.json >
"program": "${fileDirname}"
我遇到了同样的问题。当我检查时,{fileDirName} 指向我的 .vscode 文件夹。所以我刚刚手动给出了我的路径并且它有效。
我已经替换了这个
"program": "${fileDirname}"
用这个
"program": "c:/Go/src/MyGoProject"