我在Go中有项目。设置调试器并在Visual Code中启动后,
它失败并显示此错误。我在/usr/local/go
中使用go 1.13.4/usr/lib/go-1.10/src/crypto/tls/cipher_suites.go:18:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/crypto/chacha20poly1305 expects import "golang.org/x/crypto/chacha20poly1305"
/usr/lib/go-1.10/src/crypto/x509/x509.go:36:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/crypto/cryptobyte expects import "golang.org/x/crypto/cryptobyte"
/usr/lib/go-1.10/src/crypto/x509/x509.go:37:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/crypto/cryptobyte/asn1 expects import "golang.org/x/crypto/cryptobyte/asn1"
/usr/lib/go-1.10/src/crypto/tls/key_agreement.go:20:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/crypto/curve25519 expects import "golang.org/x/crypto/curve25519"
/usr/lib/go-1.10/src/net/http/h2_bundle.go:48:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/net/idna expects import "golang_org/x/text/internal/export/idna"
/usr/lib/go-1.10/src/net/http/transport.go:32:2: code in directory /usr/lib/go-1.10/src/vendor/golang_org/x/net/proxy expects import "golang.org/x/net/proxy"
最佳答案
当您在PATH
上有可用的更高版本的Go时,似乎会发生这种情况。
我通过从/ usr / local卸载Go 1.13来解决此问题,但是如果需要安装多个版本,可能会有更好的方法来处理它。
我将使用go.goroot
的VSCode Go调试器设置为用于项目的Go 1.11安装。我将Go 1.13安装到/ usr / local中以测试功能,然后遇到了同样的错误。
如果PATH
上具有其他Go版本,则似乎正在使用该编译器,但会根据其他Go版本中的标准库源进行编译。在更高的Go版本中,此目录已重命名为vendor/golang.org
,并且无法识别以前使用的golang_org
hack:
https://github.com/golang/go/commit/4d00937cecdea85b6f1eb894a6d28a53f5f2ff8a#diff-44c7c5a1dcc556d22e115d30ec0f11c9
我不确定这是否是Delve的普遍问题,还是VSCode Go扩展如何调用它的问题,但是在我这种情况下,最简单的解决方案是卸载Go 1.13,然后调试器重新开始工作。
关于go - 错误:目录中的代码…希望导入“…”-我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58693718/