Установите go brew и запустите getour

Я следил за http://tour.golang.org/, пока не дошел до третьего шага, который говорит вам, что вы можете установить getour в своей системе. После этого я установил язык go с brew по:

brew install hg
brew install go

Затем я загрузил getour с помощью:

go get code.google.com/p/go-tour/gotour

Когда я попытался запустить getour, он не распознал команду:

$ gotour
-bash: gotour: command not found

и

$ go gotour

и

$ ./gotour

Итак, я попытался увидеть путь go, и он был пуст,

echo $GOPATH

поэтому я определил GOPATH:

GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
export GOPATH

Теперь я могу запустить getour, запустив

./gotour

Но я не уверен в своей окружающей среде. Не был ли я сумасшедшим, чтобы иметь возможность запускать

go run gotour

или просто набрав (например, описанный на этом сайте http://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/):

gotour

Я хотел бы знать, правильно ли я делаю все, потому что я новичок в программировании.

Ответ 1

Установка go 1.4 с homebrew в OSX:

1) Создание каталогов

mkdir $HOME/Go
mkdir -p $HOME/Go/src/github.com/user

2) Настройте свои пути

export GOPATH=$HOME/Go
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin

3) Установите Go

brew install go

4) "go get" основы

go get golang.org/x/tools/cmd/godoc

5) Начните здесь: https://golang.org/doc/code.html в "вашей первой программе"

Ответ 2

Следуя сочетанию ответов выше, это то, что сработало для меня на OSX 10.12 (Sierra) и Go v1.7.1 с помощью Homebrew:

Я добавил это из ответа Коша на мой .zshrc или .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"

Затем в новом окне терминала/вкладке:

$ 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

Ответ 3

Я думаю, что нашел решение, я должен был экспортировать:

export PATH=$PATH:/usr/local/Cellar/go/1.0.2/bin/

Вместо

GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/
export GOPATH

С тех пор, где 'go get' ставит двоичные файлы (я думаю). gotour работает:

$ 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 Я основываю свой ответ на этом сообщении

http://code.google.com/p/go-tour/issues/detail?id=39 где они говорят об экспорте:

/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/

И начальная страница от go: http://golang.org/doc/install где они говорят, что вы должны экспортировать:

export PATH=$PATH:/usr/local/go/bin

Ответ 4

Я положил это в мой ${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"

основанный на ответе golfadas, но обновленный для работы со старыми и новыми версиями brew.

Ответ 5

Я должен установить GOPATH перед вами go get. Ну, по крайней мере, здесь, на моей машине, это работало гладко.

Я установил GOPATH в папку в моей домашней папке.

Надеюсь, это поможет!

Ответ 6

Просто обновление здесь - Я столкнулся с этой проблемой, и предыдущие ответы НЕ помогли. В текущих (~ 1.2.2) версиях Go, установленных Homebrew, вы должны установить GOROOT в следующее:

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

Я немного незнакома с структурой папок go или изменениями в установке через homebrew, поэтому я действительно не знаю почему. Но - если вам не хватает того, что похоже на все основные пакеты, то это должно быть исправлено.

Ответ 7

Просто выполните brew install go без предварительной установки каких-либо переменных среды, связанных с Go, и начните кодировать.

Я следовал за ответами здесь, но установка GOROOT заставила VS Code Intellicode работать неправильно. Установите GOROOT только если вы знаете, что делаете. В противном случае просто brew install go и начните кодировать.