Ok, I've seen this question pop up a lot, but no solutions are working for me. I've tried countless times to solve this issue, but nothing. Here's what I have done:
I then added path requirements to my .bash_profile:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
I then setup the correct folders:
As you can see, I also created a projected called tire.
The contents for main.go are simply:
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
I would assume this is all you need to get things working correctly, but no matter what I do, I always get the following error when I try to run go install
:
go install: no install location for directory /Users/Daryl/go/src/tire outside GOPATH
I know I could just run go install tire
, but that's not the issue. I'd rather know what's going on.
Here's what I get when I run go env
:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/daryl/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/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"
Is this familiar to any of you? Did I miss something? Any help would be appreciated.
The problem was as James Henstridge commented, for some reason there was an issue with my user directory name case. Even though the directory is lowercase, I had to make it capitalized.
This worked:
GOPATH=/Users/Daryl/go
This didn't:
GOPATH=$HOME/go
However, since moving to a rMBP from my iMac, I had no problems whatsoever setting up Go, so, to this day, I'm not sure what was going on, but in that instance the capitalization fixed it.
When you run go install
Go looks for $GOBIN
env variable path. Either you need to set your $GOBIN
to $GOPATH/bin
$ export GOBIN=$GOPATH/bin
and/or add $GOBIN
to your OS search path
$ export PATH=$PATH:$GOBIN
To use the command without getting the error.