2015-02-26 8 views
8

में GOPATH को सेट करने के लिए मैंने मैक ओएस एक्स में गो 1.4 इंस्टॉल किया था। पहले मैं 1.0 चला गया था। मैं GOROOT और पथ निम्नानुसार सेट,मैक ओएस एक्स 10.10

Dineshs-MacBook-Air:go-cassandra Dany$ which go 
/usr/local/go/bin/go 
Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go/bin/go 
Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin 

गो '/ usr/स्थानीय/जाना/bin/जाना' में स्थापित किया गया है। और मैंने GOPATH को अपनी प्रोजेक्ट src निर्देशिका के रूप में सेट किया है। मैं अपनी निर्देशिका के अंदर कोड चला सकता हूं। लेकिन जब मैं gocql स्थापित करने का प्रयास करता हूं तो मुझे त्रुटि मिल रही है।

Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql 
package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath 

क्या कोई इस पर मेरी सहायता कर सकता है? धन्यवाद

संपादित करें 1: @ वॉनसी मैंने दूसरे विकल्प की भी कोशिश की। मैंने GOROOT को निर्देशिका में बदल दिया जहां जाना है। लेकिन यह मदद नहीं की। और मैंने गोपाथ बदल दिया।

Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go 
Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin 
Dineshs-MacBook-Air:go-cassandra Dany$ export GOPATH=/Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra 
Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql 
Password: 
package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath 
Dineshs-MacBook-Air:go-cassandra Dany$ echo $GOPATH 
/Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra 
Dineshs-MacBook-Air:go-cassandra Dany$ ls 
bin pkg src 
Dineshs-MacBook-Air:go-cassandra Dany$ 

उत्तर

23

नोट्स:

GOROOT एक फ़ोल्डर (जहां जाने स्थापित किया गया है) का उल्लेख होना चाहिए, नहीं go ही

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

निष्पादन Dave टिप्पणी में उल्लेख किया है, आप स्थापित करने के लिए नहीं होना चाहिए GOROOT आपके मामले में बिल्कुल भी।
आलेख You don’t need to set GOROOT, really देखें।

GOPATH उस फ़ोल्डर को संदर्भित करना चाहिए जिसके तहत आपको src, pkg और bin मिलेगा। (यह सीधे src फ़ोल्डर का उल्लेख होना चाहिए नहीं):
देखें "How to Write Go Code - Workspace"

GOPATH के बारे में:

  • कोशिश करें और अपने ~/.bashrc (export का उपयोग) में यह निर्धारित किया है।
  • जांचें कि आपका वर्तमान खोल एक बैश है (और fish की तरह कोई अन्य नहीं)
  • go env के आउटपुट की जांच करें।

पर्यावरण sudo (root) के लिए इस्तेमाल किया चर के रूप में एक sudo go get करना मत करो, वर्तमान उपयोगकर्ता के रूप में ही नहीं होगा:

go get github.com/gocql/gocql 

(या you would need to do a sudo -E bash -c 'go get github.com/gocql/gocql', लेकिन मुझे लगता है कि आप डॉन 'टी root यहाँ की जरूरत है)

sudo caveat देखें:

किसी भी चर इन स्थानों को जोड़ा दिखाई नहीं देंगे, जब उन्हें एक sudo कमांड के साथ लागू sudo के रूप में पर्यावरण को रीसेट और एक सुरक्षित मार्ग की स्थापना की एक डिफ़ॉल्ट नीति (इस व्यवहार /etc/sudoers में परिभाषित किया गया है)

+0

मैंने कोशिश की है। लेकिन अभी भी एक ही मुद्दे का सामना करना पड़ रहा है। मैंने वर्तमान GOPATH और GOROOT – Dany

+0

@DineshAppavoo के साथ प्रश्न संपादित किया है मैंने जवाब संपादित किया है। – VonC

+0

धन्यवाद।यह सुडो के बिना काम किया। क्या आप मुझे समझा सकते हैं कि यह कैसे काम करता है। ? मैं मैक के लिए नया हूँ। – Dany