Install go with brew, and running the gotour
I was following the http://tour.golang.org/ untill I got to the third step about that tells you that you can install the gotour on your system. After that I've installed the go language with brew by:
brew install hg
brew install go
Then I downloaded the gotour by:
go get code.google.com/p/go-tour/gotour
When I tried to launch the gotour it didnt recognise the command:
$ gotour
-bash: gotour: command not found
and
$ go gotour
and
$ ./gotour
So I tried to see the go path and it was empty,
echo $GOPATH
so I defined the GOPATH:
GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
export GOPATH
Now I can run the gotour by runing
./gotour
But I'm insecure about my go enviroment.. wasn't I suposed to be able to run gotour by
go run gotour
or just by typing (like is described on this website http://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/):
gotour
I would like to know if i'm doing things the right way since I'm new to the go programing language.
Installing go 1.4 with homebrew on OSX:
1) Create Directories
mkdir $HOME/Go
mkdir -p $HOME/Go/src/github.com/user
2) Setup your paths
export GOPATH=$HOME/Go
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
3) Install Go
brew install go
4) "go get" the basics
go get golang.org/x/tools/cmd/godoc
5) Start here: https://golang.org/doc/code.html at "your first program"
Following a mix of answers above, this is what worked for me on OSX 10.12 (Sierra)
and Go v1.7.1
using Homebrew:
I added this from Kosh's answer to my .zshrc
or .bashrc
:
# Go development
export GOPATH="${HOME}/.go"
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"
test -d "${GOPATH}" || mkdir "${GOPATH}"
test -d "${GOPATH}/src/github.com" || mkdir -p "${GOPATH}/src/github.com"
Then in a new terminal window/tab:
$ brew install go
==> Downloading https://homebrew.bintray.com/bottles/go-1.7.1.sierra.bottle.tar.gz
Already downloaded: /Users/nigel/Library/Caches/Homebrew/go-1.7.1.sierra.bottle.tar.gz
==> Pouring go-1.7.1.sierra.bottle.tar.gz
==> Caveats
As of go 1.2, a valid GOPATH is required to use the `go get` command:
https://golang.org/doc/code.html#GOPATH
You may wish to add the GOROOT-based install location to your PATH:
export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary
🍺 /usr/local/Cellar/go/1.7.1: 6,436 files, 250.6M
$ go get golang.org/x/tools/cmd/godoc
$ go get github.com/golang/lint/golint
$ go get golang.org/x/tour/gotour
$ gotour
2016/10/19 12:06:54 Serving content from /Users/nigel/.go/src/golang.org/x/tour
2016/10/19 12:06:54 A browser window should open. If not, please visit http://127.0.0.1:3999
2016/10/19 12:06:55 accepting connection from: 127.0.0.1:52958
I think I have found the solution, I should have exported:
export PATH=$PATH:/usr/local/Cellar/go/1.0.2/bin/
Instead of
GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
export GOPATH
Since thats where 'go get' puts the binaries (I guess). gotour is working:
$ gotour
2012/10/11 18:35:50 Serving content from /usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/go-tour
2012/10/11 18:35:50 Open your web browser and visit http://127.0.0.1:3999/
Btw I based my answer on this post
http://code.google.com/p/go-tour/issues/detail?id=39 where they talk about exporting:
/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
And the getting started page from go: http://golang.org/doc/install where they say you have to export:
export PATH=$PATH:/usr/local/go/bin
I put this in my ${HOME}/.bash_profile
export GOPATH="${HOME}/.go"
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"
test -d "${GOPATH}" || mkdir "${GOPATH}"
test -d "${GOPATH}/src/github.com" || mkdir -p "${GOPATH}/src/github.com"
based on golfadas answer but updated to work with old and new versions of brew.