Reputation: 849
Here is the error message:
% go get
can't load package: package .: no buildable Go source files in /Users/7yan00
% echo $GOPATH
/Users/7yan00/Golang
How would you troubleshoot that error?
Upvotes: 82
Views: 130612
Reputation: 1036
You should check the $GOPATH
directory. If there is an empty directory of the package name, go get
doesn't download the package from the repository.
For example, If I want to get the github.com/googollee/go-socket.io
package from it's github repository, and there is already an empty directory github.com/googollee/go-socket.io
in the $GOPATH
, go get
doesn't download the package and then complains that there is no buildable Go source file in the directory. Delete any empty directory first of all.
Upvotes: 32
Reputation: 1240
I had this exact error code and after checking my repository discovered that there were no go files but actually just more directories. So it was more of a red herring than an error for me.
I would recommend doing
go env
and making sure that everything is as it should be, check your environment variables in your OS and check to make sure your shell (bash or w/e ) isn't compromising it via something like a .bash_profile or .bashrc file. good luck.
Upvotes: 1
Reputation: 41
If you want all packages in that repository, use ...
to signify that, like:
go get code.google.com/p/go.text/...
Upvotes: 3
Reputation: 1324576
Make sure you are using that command in the Go project source folder (like /Users/7yan00/Golang/src/myProject
).
One alternative (similar to this bug) is to use the -d
option (see go get
command)
go get -d
The
-d
flag instructs get to stop after downloading the packages; that is, it instructs get not to install the packages.
See if that helps in your case.
But more generally, as described in this thread:
go get
is for package(s), not for repositories.so if you want a specific package, say,
go.text/encoding
, then use
go get code.google.com/p/go.text/encoding
if you want all packages in that repository, use
...
to signify that:
go get code.google.com/p/go.text/...
Upvotes: 54
Reputation: 3149
To resolve this for my situation:
I had to specify a more specific sub-package to install.
Wrong:
go get github.com/garyburd/redigo
Correct:
go get github.com/garyburd/redigo/redis
Upvotes: 6
Reputation: 2823
Another possible reason for the message:
can't load package: .... : no buildable Go source files
Is when the source files being compiled have:
// +build ignore
In which case the files are ignored and not buildable as requested.This behaviour is documented at https://golang.org/pkg/go/build/
Upvotes: 13