Installed go according to the documents on the site. Set GOPATH to ~/go. My bin directory is empty when I try to run "go install" on an application. There is no error message, which leads me to believe that their was no errors and everything compiled correctly. How do I find out where the binaries are being put?
Update:
Typing in go env
give me this:
GOARCH="amd64" GOBIN="/Users/kkaske/go/bin" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/kkaske/go" GORACE="" GOROOT="/usr/local/Cellar/go/1.2/libexec" GOTOOLDIR="/usr/local/Cellar/go/1.2/libexec/pkg/tool/darwin_amd64" TERM="dumb" CC="clang" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common" CXX="clang++" CGO_ENABLED="1"
VERY SIMPLE SOLUTION:
My fix works on Ubuntu based systems.
First we have to setup the Workspace for you where you can start working on your Go Projects.
Note: I am using directory names which I have used on my system to configure Go. You can use your own directory names.
Step 1: Create a directory named GoLang
$ mkdir -p $HOME/GoLang
Now move into GoLang Directory.
$ cd $HOME/GoLang
Step 2: Create two directories named "bin" and "src" inside GoLang directory.
$ mkdir -p bin
$ mkdir -p src
Extra Info: src directory contains source files with .go extension and bin directory contains executable files.
Step 3: Now we have to edit your .bashrc file.
Type this command in the Terminal.
$ nano ~/.bashrc
.bashrc file will open and you have to scroll down to the end and type these lines.
export GOPATH=$HOME/GoLang/src
export GOBIN=$HOME/GoLang/bin
Final step is to save the file and restart the terminal.
Now run go env
and you will see something like this:
GOARCH="amd64"
GOBIN="/home/infoir/GoLang/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/infoir/GoLang/src"
GORACE=""
GOROOT="/usr"
GOTOOLDIR="/usr/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
is your applications source within your gopath?
It should be in $GOPATH/src/yourpath - using symlinks here is very useful. Then it will be published to the relative $GOPATH/bin location :)
Just run "go env" and you will get something like this:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/laz10049/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
So in my case binaries will be located at "/usr/local/go/bin" ($GOROOT + "/bin/")