I'm a newcomer to Go and I think I've messed up the setup somewhere. When trying to install the Buffalo framework, I got the following error:
$ buffalo new todo-api --api
Buffalo version v0.9.5
--> go get -u golang.org/x/tools/cmd/goimports
package golang.org/x/tools/cmd/goimports: cannot find package "golang.org/x/tools/cmd/goimports" in any of:
/usr/local/go/src/golang.org/x/tools/cmd/goimports (from $GOROOT)
/home/ankush/go/src/golang.org/x/tools/cmd/goimports (from $GOPATH)
I remember emptying the $HOME/go directory because I had just upgraded from 1.8 to 1.9, and thought that Go would somehow automatically re-download and populate it. But it didn't, it seems.
So, is the src/golang.org directory supposed to be in $GOPATH? Because I didn't find it in $GOROOT and I had followed the standard setup instructions.
Any suggestions?
== Update 1 ==
The GOPATH is correctly set in my case. Here's the output of go env
:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ankush/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build630744714=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
=== Update2 ===
Here's my output of go get
for goimports
:
go$ go get -u -v golang.org/x/tools/cmd/goimports
Fetching https://golang.org/x/tools/cmd/goimports?go-get=1
Parsing meta tags from https://golang.org/x/tools/cmd/goimports?go-get=1 (status code 200)
get "golang.org/x/tools/cmd/goimports": found meta tag get.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/goimports?go-get=1
get "golang.org/x/tools/cmd/goimports": 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)
package golang.org/x/tools/cmd/goimports: cannot find package "golang.org/x/tools/cmd/goimports" in any of:
/usr/local/go/src/golang.org/x/tools/cmd/goimports (from $GOROOT)
/home/ankush/go/src/golang.org/x/tools/cmd/goimports (from $GOPATH)