I have a problem with debugging in Go 1.10 in vscode using delve on Mac. I read here that the workaround is to downgrade to Go 1.9. Since I am new at Go, but have lots of stuff already installed, how do I do this cleanly?
The same way you upgrade. That is, remove the existing version, then install the new version. Although "downgrade" isn't explicitly stated on the official docs, it does explain how to do it.
I use my own fork of gvm to easily switch between go versions. The original gvm is fairly old and keeps a different gopath per go version which I found annoying and removed in my fork.
So after setting up gvm, you can do
gvm install go1.9.5 -B
gvm use go1.9.5 --default
The -B flag installs go from a binary release. If you don't add it, it will try to compile it from sources, which requires a bit more setup.
I don't know if you need to downgrade Go in order to reenable the debugging. I had the same problem on a Mac(10.13) and the problem seems to be XCode.
Here I've found the solution for fixing the debugging problem.
You should delete the current XCode Command Line Tools binary:
sudo rm -rf /Library/Developer/CommandLineTools
and install an older XCode Command Line Tools (for me it's working with 9.2) using one of the following links:
Best way to upgrade or downgrade Go on Ubuntu is to download required version from here. Here you could have all stable and releases, along with archived versions.
after downloading you selected version you can follow further steps, i will suggest you to download tar.gz format for ubuntu machine:
sudo rm -rf /usr/local/go /usr/local/gocache
this will remove all the local go code base but wait something more we have to do to remove fully from local, i was missing this step and it took so much time until I understood what i am missing so here is the purge stuff to remove from list
sudo apt-get purge golang
or
sudo apt remove golang-go
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
GOROOT
variable value you can check the value by go env
if not set then export PATH=$PATH:/usr/local/go
/home/yourusername/go/test.php
if you haven't changed set GOPATH
value:package main import "fmt" func main() { fmt.Println("hello world") }
go run test.go
i hope it works for you!!