This repository has been archived by the owner on Jul 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 645
"debug test" only work with one version of go? #3152
Labels
Comments
I think this is because the As a workaround, try to add We can consider passing the "go.goroot"/bin when launching the debug adapter. I don't see any other way to teach |
hyangah
added a commit
to hyangah/vscode-go-old
that referenced
this issue
Apr 7, 2020
Users can specify the go command to use by setting GOROOT env var, `go.goroot` vscode setting, or PATH env var. getBinPath('go') is used to choose the right version of 'go' whenever the extension tries to invoke the go commands. However, this does not affect other tools that invoke the go command underneath. For example, delve, gopls, and many tools simply pick a version of go from PATH. If the GOROOT env var and the version of go found in the PATH don't match, this can lead to errors. This CL places the go runtime base bin path as the first element of the PATH env var. That ensures any tools invoked by the extension to pick the same version of go, as long as they stick with the usual PATH-based executable search. Note this process.env mutation does not affect the environment variable settings the integrated terminal would see, but this is not a new problem. Fixes microsoft#3152
ramya-rao-a
pushed a commit
that referenced
this issue
Apr 16, 2020
Users can specify the go command to use by setting GOROOT env var, `go.goroot` vscode setting, or PATH env var. getBinPath('go') is used to choose the right version of 'go' whenever the extension tries to invoke the go commands. However, this does not affect other tools that invoke the go command underneath. For example, delve, gopls, and many tools simply pick a version of go from PATH. If the GOROOT env var and the version of go found in the PATH don't match, this can lead to errors. This CL places the go runtime base bin path as the first element of the PATH env var. That ensures any tools invoked by the extension to pick the same version of go, as long as they stick with the usual PATH-based executable search. Note this process.env mutation does not affect the environment variable settings the integrated terminal would see, but this is not a new problem. Fixes #3152
The latest update 0.14.2 has the fix for this, Thanks @hyangah |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Describe the bug
I use
gvm
to manage multiple go versions:I have two projects, one is configured to use
go1.13
:The other is configured to use
go1.12
:It seems to me that vscode will stick to the same go tool version for
debug test
, so the first project can rundebug test
successfully, but the second one will reportgo version does not match go tool version
, like this:The root cause seems to be that vscode somehow doesn't choose the
dlv
under configuredGOROOT
?The text was updated successfully, but these errors were encountered: