Install go with brew, and running the gotour

MacosInstallationGoHomebrew

Macos Problem Overview


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.

Macos Solutions


Solution 1 - Macos

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"

Solution 2 - Macos

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

Solution 3 - Macos

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

Solution 4 - Macos

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.

Solution 5 - Macos

I thing you should have set the GOPATH before you go get. Well, at least here in my machine this worked smoothly.

I set the GOPATH to a folder in my home folder.

Hope this helps!

Solution 6 - Macos

Just an update here - I ran into this same problem, and the previous answers did NOT help. On current (~1.2.2) versions of Go installed by Homebrew, you have to set GOROOT to the following:

export GOROOT=/usr/local/Cellar/go/1.2.2/libexec

I'm a little unfamiliar with the go folder structure, or changes to the go installation via homebrew, so I don't really know why. But - if you're missing what seems like all the core packages, the above should fix.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiongolfadasView Question on Stackoverflow
Solution 1 - Macosuser2562923View Answer on Stackoverflow
Solution 2 - MacosGibbsoftView Answer on Stackoverflow
Solution 3 - MacosgolfadasView Answer on Stackoverflow
Solution 4 - MacosKoshView Answer on Stackoverflow
Solution 5 - MacosAntonio RibeiroView Answer on Stackoverflow
Solution 6 - MacossczttView Answer on Stackoverflow