स्थापित करें काढ़ा के साथ जाओ, और गोटर चला रहे हैं


101

मैं http://tour.golang.org/ का अनुसरण कर रहा था, लेकिन जब तक कि मैं तीसरे चरण के बारे में बताता, आपको बता देता है कि आप अपने सिस्टम पर गोअर को स्थापित कर सकते हैं। उसके बाद मैंने काढ़ा के साथ गो भाषा स्थापित की है:

brew install hg
brew install go

फिर मैंने गौत को डाउनलोड किया:

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

जब मैंने गॉट को लॉन्च करने की कोशिश की तो यह कमांड को पहचान नहीं पाया:

$ gotour
-bash: gotour: command not found

तथा

$ go gotour

तथा

$ ./gotour

इसलिए मैंने जाने का रास्ता देखने की कोशिश की और यह खाली था,

echo $GOPATH

इसलिए मैंने GOPATH को परिभाषित किया:

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

अब मैं गोत को चलाकर पा सकता हूं

./gotour

लेकिन मैं अपने गो-संवर्धन के बारे में असुरक्षित हूं .. क्या मुझे इसके द्वारा चलाए जाने के लिए सक्षम नहीं किया गया था

go run gotour

या सिर्फ टाइप करके (जैसे इस वेबसाइट पर बताया गया है http://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/ ):

gotour

मैं जानना चाहूंगा कि क्या मैं चीजों को सही तरीके से कर रहा हूं क्योंकि मैं गो प्रोग्रामिंग भाषा में नया हूं।


2
आपका GOPATH आपके GOROOT के समान नहीं होना चाहिए। इसे कुछ इस तरह सेट करें $HOME/goऔर $GOPATH/binअपने पेट में जोड़ें ।
एलीथ्रर

BTW गो टूर कमांड मिलता है और url अब बदल गया है: go get golang.org/x/tour/gotour
जर्मन

जवाबों:


183

OSX पर होमब्रेव के साथ 1.4 स्थापित करना:

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) गो स्थापित करें

brew install go

4) मूल बातें "जाओ जाओ"

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

5) यहां शुरू करें: https://golang.org/doc/code.html पर "आपका पहला कार्यक्रम"


2
इंटेलीज आइडिया को आपके .bashrc में परिभाषित GOPATH नहीं मिल रहा है? चरण 2 में निर्यात लाइनों को .bash_profile, .bashrc में नहीं, अपने मैक को फिर से शुरू करें और IntelliJ GOPATH (बस परीक्षण किया गया, रिबूट की आवश्यकता होगी)
फ़ायरवॉल

1
मैंने $ GOPATH सेटअप को स्वचालित किया है जिसका वर्णन आप github.com/camilin87/setup_go
Camilo Sanchez

आप $Home/Goएक अपरकेस जी के साथ क्यों प्रयोग कर रहे हैं ? होमब्रेव इंस्टॉलर एक निचले सिरे वाले GEg==> 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
स्नोक्रैश

4
यह उत्तर पुराना है और गो को परिवर्तनों को देखते हुए एक टन मुद्दों का कारण बन रहा है और यह Google पर सबसे पहले "कैसे का उपयोग करके गो स्थापित करें" के लिए खोज करता है। इसका मतलब है कि बहुत से लोगों को इस पुराने और गलत जवाब के लिए निर्देशित किया जा रहा है। अब आपको Go stackoverflow.com/a/21012349/3299397 के लिए कोई पथ निर्धारित नहीं करना है और आप केवल GOROOT सेट करते हैं यदि आप वास्तविक भाषा का विकास कर रहे हैं (जैसा कि आप Go के अंतर्निहित कोड reddit.com/r.golang पर परिवर्तन करते हैं। / टिप्पणियाँ / अल्र्नुक /… )
काइल ब्रिडेनस्टाइन

55

ऊपर जवाब का एक मिश्रण के बाद, यह है कि क्या पर मेरे लिए काम किया है 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

इसने मेरे लिए सिएरा 10.12.5 पर 1.8.3 के साथ शानदार काम किया। धन्यवाद!
thewoolleyman

1.13.5 के साथ भी कैटालिना 10.15.2 पर मेरे लिए काम किया। धन्यवाद!
रॉस ज़ुरोस्की

चलन जारी रखते हुए, मेरे साथ मोजेज 10.14.6 पर 1.13.8 के साथ काम किया। मैंने इसे थोड़ा संशोधित किया था: जब मैं पथ निर्यात करता हूं, तो मैं अंत में जाने के बजाय आगे के रास्ते पर जाता हूं $PATH। तो मेरी आर सी फ़ाइल की तीसरी पंक्ति इस तरह दिखती है:export PATH="${GOPATH}/bin:${GOROOT}/bin:$PATH"
रोमेल्म

1
यह स्वीकृत उत्तर होना चाहिए क्योंकि यह पूरी तरह से वर्णन करता है कि होमब्रे के साथ इसका उपयोग कैसे करें!
मूवमुव

इस GitHub टिप्पणी के अनुसार , go get github.com/golang/lint/golintएक नया रास्ता है:go get -u golang.org/x/lint/golint
schottsfired

23

मुझे लगता है कि मुझे समाधान मिल गया है, मुझे निर्यात करना चाहिए:

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

चूँकि 'गो गेट गो' बायनेरिज़ (मुझे लगता है) रखता है। गटर काम कर रहा है:

$ 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/

और जाने से प्रारंभ होने वाला पृष्ठ: http://golang.org/doc/install जहां वे कहते हैं कि आपको निर्यात करना है:

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

मुझे एक अतिरिक्त बिन / अंत देना पड़ा, क्योंकि अब ऐसा लगता है कि उन्होंने इन गो निष्पादन योग्य वस्तुओं को अब एक उपनिर्देशिका में डाल दिया है। Ie, मेरे रास्ते के लिए कमांड है:export PATH=$PATH:/usr/local/Cellar/go/1.3.3/bin/bin/
Nate

यदि आपने इसे स्थापित नहीं किया है, brewलेकिन यहां समाप्त हो गया है क्योंकि आप zsh का उपयोग करते समय नहीं जा सकते हैं, तो आपको बहुत ही सामान करने की आवश्यकता है (आपके गो स्थापना का पथ निर्यात करना)। मेरे मामले में यह था: export PATH=$PATH:/usr/local/go/binयदि यह आपके लिए काम नहीं करेगा, तो आपके पास शायद यह कहीं और स्थापित है।
andilabs

9

मैंने इसे अपने $ {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"

गोल्फादास के उत्तर के आधार पर लेकिन पुराने और नए संस्करणों के साथ काम करने के लिए अद्यतन किया गया।


7

मुझे लगता है कि आपको आपके सामने GOPATH सेट करना चाहिए था go get। ठीक है, कम से कम यहाँ मेरी मशीन में यह आसानी से काम किया।

मैंने अपने होम फोल्डर में GOPATH को एक फोल्डर में सेट किया है।

उम्मीद है की यह मदद करेगा!


7
यह सही सलाह है। export GOPATH=$HOME/goऔर export PATH=$PATH:$GOPATH/binआप की जरूरत है सभी को शामिल किया गया $HOME/goअपनी पसंद के रास्ते के लिए स्थानापन्न ।
एलीथ्रर

5

बस यहाँ एक अद्यतन - मैं इस समस्या में भाग गया, और पिछले जवाब मदद नहीं की। Homebrew द्वारा स्थापित गो के वर्तमान (~ 1.2.2) संस्करणों पर, आपको निम्नलिखित के लिए GOROOT सेट करना होगा:

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

मैं गो फोल्डर संरचना से थोड़ा अपरिचित हूं, या होमब्रे के माध्यम से गो इंस्टॉलेशन में बदलाव करता हूं, इसलिए मुझे वास्तव में पता नहीं है कि क्यों। लेकिन - यदि आप याद कर रहे हैं कि सभी मुख्य पैकेजों की तरह क्या लगता है, तो उपरोक्त को ठीक करना चाहिए।


आप बस अपने वर्तमान गो संस्करण की स्थापना रद्द कर सकते हैं और नया स्थापित कर सकते हैं। यही मैंने किया और मेरे लिए सबकुछ ठीक रहा।
कैंट बुल

होमब्रे के साथ आपको हमेशा /usr/local/opt/आधार के रूप में उपयोग करना चाहिए । इस तरह आपको नया संस्करण सामने आने पर चर को अद्यतन करने की भी आवश्यकता नहीं है।
बिना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.