Go with brew'ı kurun ve gotour'u çalıştırın


101

Ben takip ediyordu http://tour.golang.org/ o sisteminizde gotour yükleyebileceği anlatır hakkında e kadar Ben üçüncü basamakta lazım. Bundan sonra go dilini brew ile kurdum:

brew install hg
brew install go

Sonra gotour'u şu şekilde indirdim:

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

Gotour'u başlatmaya çalıştığımda şu komutu tanımadı:

$ gotour
-bash: gotour: command not found

ve

$ go gotour

ve

$ ./gotour

Bu yüzden gidiş yolunu görmeye çalıştım ve boştu.

echo $GOPATH

bu yüzden GOPATH'ı tanımladım:

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

Şimdi gotour'u koşarak çalıştırabilirim

./gotour

Ama gideceğim ortam konusunda kendime güvensizim ..

go run gotour

veya sadece yazarak (bu web sitesinde açıklandığı gibi http://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/ ):

gotour

Go programlama dilinde yeni olduğum için işleri doğru şekilde yapıp yapmadığımı bilmek isterim.


2
GOPATH'ınız GOROOT'unuz ile aynı olmamalıdır. Bunu gibi bir şeye ayarlayın $HOME/gove $GOPATH/binPATH'inize ekleyin .
elithrar

BTW go tour get command ve url şimdi şu şekilde değiştirildi: go get golang.org/x/tour/gotour
Almanca

Yanıtlar:


185

OSX'te homebrew ile go 1.4 kurulumu:

1) Dizinler Oluşturun

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

2) Yollarınızı ayarlayın

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

3) Go'yu yükleyin

brew install go

4) Temelleri "öğrenin"

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

5) Buradan başlayın: https://golang.org/doc/code.html "ilk programınızdan"


2
IntelliJ Fikir, .bashrc dosyanızda tanımlanan GOPATH'ı bulamıyor musunuz? 2. adımda dışa aktarma satırlarını .bashrc'ye değil .bash_profile içine yapıştırın, mac'inizi yeniden başlatın ve IntelliJ GOPATH'ı bulacaktır (yeni test edildi, yeniden başlatma gerekli)
firepol


Neden $Home/Gobüyük harf G ile kullanıyorsunuz ? Homebrew yükleyicisi küçük harfli bir GEg kullanıyor ==> Caveats A valid GOPATH is required to use the `go get` command. If $GOPATH is not specified, $HOME/go will be used by default: https://golang.org/doc/code.html#GOPATH
Snowcrash

4
Bu cevap çok güncel değil ve Go'daki değişiklikler nedeniyle bir sürü soruna neden oluyor ve Google'da "Brew kullanarak Go nasıl kurulur" aramalarında ilk olarak görünüyor. Bu, birçok insanın bu modası geçmiş ve yanlış cevaba yönlendirildiği anlamına geliyor. Artık Go stackoverflow.com/a/21012349/3299397 için herhangi bir yol ayarlamanıza gerek yok ve GOROOT'u yalnızca Go'nun gerçek dilini geliştiriyorsanız (Go'nun temel kodunda değişiklik yaptığınız gibi reddit.com/r/golang / comments / alrnuk /… )
Kyle Bridenstine

55

Yukarıdaki cevapların bir karışımını takiben, bu konuda benim için çalıştı budur OSX 10.12 (Sierra)ve Go v1.7.1Homebrew kullanarak:

Bunu Kosh'un cevabından .zshrcya da .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"

Sonra yeni bir terminal penceresinde / sekmesinde:

$ 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

Bu benim için Sierra 10.12.5'te go 1.8.3 ile harika çalıştı. Teşekkürler!
thewoolleyman

Benim için Catalina 10.15.2'de go 1.13.5 ile de çalıştı. Teşekkür ederim!
Ross Zurowski

Trend devam ederken, go 1.13.8 ile Mojave 10.14.6'da benim için çalıştı. Ben yolunu dışa aktardığınızda, ben de gidip yolları koydu: gerçi ben biraz bu değişiklik yaptım ön ait $PATHziyade sonunda. Yani rc dosyamın üçüncü satırı şöyle görünüyor:export PATH="${GOPATH}/bin:${GOROOT}/bin:$PATH"
dosyamın romellem

1
Homebrew ile nasıl kullanılacağını mükemmel bir şekilde tanımladığı için kabul edilen cevap bu olmalıdır!
muuvmuuv

Gereğince bu GitHub yorumun , go get github.com/golang/lint/golint: Yeni bir yol vardırgo get -u golang.org/x/lint/golint
schottsfired

23

Sanırım çözümü buldum, ihraç etmeliydim:

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

Onun yerine

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

O zamandan beri 'go get' ikili dosyaları koyar (sanırım). gotour çalışıyor:

$ 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 cevabımı bu gönderiye dayandırdım

http://code.google.com/p/go-tour/issues/detail?id=39 dışa aktarma hakkında konuştukları yer:

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

Başlarken sayfası: http://golang.org/doc/install dışa aktarmanız gerektiğini söyledikleri yer:

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

Sonuna fazladan bir bölme / koymak zorunda kaldım, çünkü artık bu go yürütülebilir dosyaları şimdi bir alt dizine koyuyorlar. Yani, yolumun komutu:export PATH=$PATH:/usr/local/Cellar/go/1.3.3/bin/bin/
Nate

Eğer onu brewyüklemediyseniz ancak burada sona erdiyseniz, çünkü zsh kullanırken go çalıştıramıyorsanız, aynı şeyleri yapmanız gerekir (yolu go kurulumunuza dışa aktarmanız gerekir). Benim durumumda şuydu: export PATH=$PATH:/usr/local/go/binEğer sizin için işe yaramazsa, muhtemelen başka bir yere kurmuşsunuzdur.
andilabs

9

Bunu $ {HOME} /. Bash_profile dosyama koydum

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"

golfadaların cevabına dayalı ancak eski ve yeni demleme sürümleriyle çalışacak şekilde güncellendi.


7

Sanırım GOPATH'ı senden önce ayarlaman gerekirdi go get. En azından benim makinemde bu sorunsuz çalıştı.

GOPATH'ı ana klasörümdeki bir klasöre ayarladım.

Bu yardımcı olur umarım!


7
Bu doğru tavsiye. export GOPATH=$HOME/gove export PATH=$PATH:$GOPATH/binihtiyacınız olan her şeyi kapsar. Değiştirin $HOME/goseçtiğiniz yolu için.
elithrar

5

Burada sadece bir güncelleme - aynı problemle karşılaştım ve önceki cevaplar yardımcı OLMADI. Homebrew tarafından kurulan Go'nun mevcut (~ 1.2.2) sürümlerinde, GOROOT'u aşağıdakilere ayarlamanız gerekir:

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

Go klasör yapısına veya homebrew aracılığıyla go kurulumundaki değişikliklere biraz aşina değilim, bu yüzden nedenini gerçekten bilmiyorum. Ancak - tüm çekirdek paketler gibi görünen şeyleri kaçırıyorsanız, yukarıdakiler düzeltilmelidir.


Mevcut go sürümünüzü kaldırabilir ve yenisini kurabilirsiniz. Ben de öyle yaptım ve her şey benim için gayet iyi çalıştı.
Kent Bull

Homebrew ile her zaman /usr/local/opt/temel olarak kullanmalısınız . Bu şekilde, yeni bir sürüm çıktığında değişkeni güncellemenize bile gerek kalmaz.
sınıfsız
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.