VS Code can't install the Go tools
Solution 1
It looks like it's complaining due to C:\Users\user\go\src\golang.org\x\tools
being not a git repo, so it can't update whatever is in it.
Assuming you didn't put your own code in that dir, try removing it and then running again.
If you look at the docs for the Go plugin, and scroll all the way to the bottom, it shows the commands to run if you want to manually install/upgrade the stuff the plugin needs.
Specifically, taken from their github repo, you can just run this from a cmd.exe prompt.
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/fatih/gomodifytags
Solution 2
Solution: Just Exit the app & Restart the application as Admin (Run as Administrator). It'll work fine & every module/dependency will be installed Successfully.
Hey
Updated on June 27, 2022Comments
-
Hey almost 2 years
I try to start using Go in VSCode. I've installed Go as well as Git and created a project in Code, containing a single
.go
file.When I type something, VSCode warns me that tools like
golint
are missing and prompts me to install them. I click on "Install all".Then the console shows this :
Installing 10 tools gocode gopkgs go-outline go-symbols guru gorename godef goreturns golint gotests Installing gocode SUCCEEDED Installing gopkgs SUCCEEDED Installing go-outline SUCCEEDED Installing go-symbols FAILED Installing guru FAILED Installing gorename FAILED Installing godef SUCCEEDED Installing goreturns FAILED Installing golint FAILED Installing gotests FAILED 6 tools failed to install. go-symbols: Error: Command failed: C:\Go\bin\go.exe get -u -v github.com/newhook/go-symbols github.com/newhook/go-symbols (download) Fetching https://golang.org/x/tools/go/buildutil?go-get=1 Parsing meta tags from https://golang.org/x/tools/go/buildutil?go-get=1 (status code 200) get "golang.org/x/tools/go/buildutil": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/go/buildutil?go-get=1 get "golang.org/x/tools/go/buildutil": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/go/buildutil: exit status 128 github.com/newhook/go-symbols (download) Fetching https://golang.org/x/tools/go/buildutil?go-get=1 Parsing meta tags from https://golang.org/x/tools/go/buildutil?go-get=1 (status code 200) get "golang.org/x/tools/go/buildutil": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/go/buildutil?go-get=1 get "golang.org/x/tools/go/buildutil": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/go/buildutil: exit status 128 guru: Error: Command failed: C:\Go\bin\go.exe get -u -v golang.org/x/tools/cmd/guru Fetching https://golang.org/x/tools/cmd/guru?go-get=1 Parsing meta tags from https://golang.org/x/tools/cmd/guru?go-get=1 (status code 200) get "golang.org/x/tools/cmd/guru": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/guru?go-get=1 get "golang.org/x/tools/cmd/guru": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/cmd/guru: exit status 128 Fetching https://golang.org/x/tools/cmd/guru?go-get=1 Parsing meta tags from https://golang.org/x/tools/cmd/guru?go-get=1 (status code 200) get "golang.org/x/tools/cmd/guru": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/guru?go-get=1 get "golang.org/x/tools/cmd/guru": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/cmd/guru: exit status 128 gorename: Error: Command failed: C:\Go\bin\go.exe get -u -v golang.org/x/tools/cmd/gorename Fetching https://golang.org/x/tools/cmd/gorename?go-get=1 Parsing meta tags from https://golang.org/x/tools/cmd/gorename?go-get=1 (status code 200) get "golang.org/x/tools/cmd/gorename": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/gorename?go-get=1 get "golang.org/x/tools/cmd/gorename": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/cmd/gorename: exit status 128 Fetching https://golang.org/x/tools/cmd/gorename?go-get=1 Parsing meta tags from https://golang.org/x/tools/cmd/gorename?go-get=1 (status code 200) get "golang.org/x/tools/cmd/gorename": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/gorename?go-get=1 get "golang.org/x/tools/cmd/gorename": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/cmd/gorename: exit status 128 goreturns: Error: Command failed: C:\Go\bin\go.exe get -u -v sourcegraph.com/sqs/goreturns Fetching https://sourcegraph.com/sqs/goreturns?go-get=1 Parsing meta tags from https://sourcegraph.com/sqs/goreturns?go-get=1 (status code 200) get "sourcegraph.com/sqs/goreturns": found meta tag main.metaImport{Prefix:"sourcegraph.com/sqs/goreturns", VCS:"git", RepoRoot:"https://github.com/sqs/goreturns"} at https://sourcegraph.com/sqs/goreturns?go-get=1 sourcegraph.com/sqs/goreturns (download) github.com/sqs/goreturns (download) Fetching https://golang.org/x/tools/imports?go-get=1 Parsing meta tags from https://golang.org/x/tools/imports?go-get=1 (status code 200) get "golang.org/x/tools/imports": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/imports?go-get=1 get "golang.org/x/tools/imports": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/imports: exit status 128 Fetching https://sourcegraph.com/sqs/goreturns?go-get=1 Parsing meta tags from https://sourcegraph.com/sqs/goreturns?go-get=1 (status code 200) get "sourcegraph.com/sqs/goreturns": found meta tag main.metaImport{Prefix:"sourcegraph.com/sqs/goreturns", VCS:"git", RepoRoot:"https://github.com/sqs/goreturns"} at https://sourcegraph.com/sqs/goreturns?go-get=1 sourcegraph.com/sqs/goreturns (download) github.com/sqs/goreturns (download) Fetching https://golang.org/x/tools/imports?go-get=1 Parsing meta tags from https://golang.org/x/tools/imports?go-get=1 (status code 200) get "golang.org/x/tools/imports": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/imports?go-get=1 get "golang.org/x/tools/imports": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/imports: exit status 128 golint: Error: Command failed: C:\Go\bin\go.exe get -u -v github.com/golang/lint/golint github.com/golang/lint (download) Fetching https://golang.org/x/tools/go/gcexportdata?go-get=1 Parsing meta tags from https://golang.org/x/tools/go/gcexportdata?go-get=1 (status code 200) get "golang.org/x/tools/go/gcexportdata": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/go/gcexportdata?go-get=1 get "golang.org/x/tools/go/gcexportdata": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/go/gcexportdata: exit status 128 github.com/golang/lint (download) Fetching https://golang.org/x/tools/go/gcexportdata?go-get=1 Parsing meta tags from https://golang.org/x/tools/go/gcexportdata?go-get=1 (status code 200) get "golang.org/x/tools/go/gcexportdata": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/go/gcexportdata?go-get=1 get "golang.org/x/tools/go/gcexportdata": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/go/gcexportdata: exit status 128 gotests: Error: Command failed: C:\Go\bin\go.exe get -u -v github.com/cweill/gotests/... github.com/cweill/gotests (download) Fetching https://golang.org/x/tools/imports?go-get=1 Parsing meta tags from https://golang.org/x/tools/imports?go-get=1 (status code 200) get "golang.org/x/tools/imports": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/imports?go-get=1 get "golang.org/x/tools/imports": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/imports: exit status 128 github.com/cweill/gotests (download) Fetching https://golang.org/x/tools/imports?go-get=1 Parsing meta tags from https://golang.org/x/tools/imports?go-get=1 (status code 200) get "golang.org/x/tools/imports": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/imports?go-get=1 get "golang.org/x/tools/imports": verifying non-authoritative meta tag Fetching https://golang.org/x/tools?go-get=1 Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200) golang.org/x/tools (download) # cd C:\Users\user\go\src\golang.org\x\tools; git pull --ff-only fatal: Not a git repository (or any of the parent directories): .git package golang.org/x/tools/imports: exit status 128
Some tools are able to install, others are not. I can't do anything about the
Not a git repository
error because it's an automated process and I'm not the one typing the git commands.I tried installing the tools separately in PowerShell and I get the same errors. My go directory is created (in
%USERPROFILE%\go
) and theGOPATH
is set correctly.Any ideas ?