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.
To downgrade Go on MacOS, for instance from [email protected]
to [email protected]
:
$ brew unlink [email protected]
$ brew install [email protected]
$ brew link [email protected]
First remove go from the system
sudo snap remove go
Then install particular version of go
sudo snap install --classic --channel=1.14/stable go
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:
- first of all fully remove the older version from your local by doing this
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
- Now install / extract your downloaded version of go inside /usr/local/go, by hitting terminal with this
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
- after doing all above stuff , don't forget or check to
GOROOT
variable value you can check the value bygo env
if not set thenexport PATH=$PATH:/usr/local/go
- Better to test a small go program to make sure. write this inside
/home/yourusername/go/test.php
if you haven't changed setGOPATH
value:
package main import "fmt" func main() { fmt.Println("hello world") }
- run this by
go run test.go
i hope it works for you!!
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.
© 2022 - 2024 — McMap. All rights reserved.