2013-06-04 6 views
5

मैं पड़ा है कुछ कठिनाइयों जाओ उठने और लिनक्स टकसाल 14 पर सही ढंग से चल रहा है मैं एक फ़ोल्डर ($ घर/विकसित/gocode) मेरी GOPATH रूप bin, pkg और src फ़ोल्डरों के साथ है और GOPATH वातावरण चर ठीक से सेट है क्या आप वहां मौजूद हैं। मैंने go get (https://github.com/jbarham/primegen.go) का उपयोग करके एक निश्चित जिथब रिपोजिटरी स्थापित करने का प्रयास किया लेकिन मुझे मुझे त्रुटि मिली: stat github.com/jbarham/primegen.go: no such file or directory (मुझे लगता है क्योंकि भंडार .go में समाप्त होता है।) ठीक है, मैंने इसे मैन्युअल रूप से क्लोन किया है, लेकिन फिर जब मैं go install दो में से एक का प्रयास करता हूं कि भंडार में निष्पादनयोग्य (दोनों में से कोई काम करता है, लेकिन मैं पहले primespeed स्थापित करने की कोशिश) मैं निम्नलिखित त्रुटि मिलती है:'जाओ इंस्टॉल करें' को इंस्टॉल करने की कोशिश कर रहा है/usr/lib/मेरे GOPATH के बजाय जाना। अनुमति अस्वीकृत

$ cd $GOPATH/src/github.com/jbarham/primegen.go/primespeed 
$ go install 
go install github.com/jbarham/primegen.go: mkdir /usr/lib/go/pkg/linux_amd64/github.com: permission denied 

वहाँ पैकेज स्थापित करने के लिए क्यों की कोशिश कर जाना है? मैंने स्पष्ट रूप से अपना GOPATH चर सेट किया है, और फिर भी यह संकुल को/usr/local में स्थापित करने का प्रयास कर रहा है।

मुझे यकीन है कि अगर यह मदद मिलेगी नहीं कर रहा हूँ, लेकिन यहाँ कुछ अन्य संस्करण और पर्यावरण के बारे में उत्पादन होता है:

$ go env 
GOROOT="/usr/lib/go" 
GOBIN="" 
GOARCH="amd64" 
GOCHAR="6" 
GOOS="linux" 
GOEXE="" 
GOHOSTARCH="amd64" 
GOHOSTOS="linux" 
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64" 
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread" 
CGO_ENABLED="1" 
$ go version 
go version go1.0.2 
+0

कुछ ख़राब है - 'गोपाथ' आपके 'एनओवी' आउटपुट में क्यों नहीं दिख रहा है? –

+0

क्या आपने "गोपाथ निर्यात" किया था? – alex

उत्तर

5
  1. आपका GOPATH शायद निर्यात नहीं कर रहा है।
  2. हां, .go एक्सटेंशन वाले भंडार 'go gettable' नहीं हैं।

विज्ञापन 1. (बेहतर .bashrc या समकक्ष में डाल दिया):

$ export GOPATH=$HOME # just an example 

विज्ञापन 2. (बेहतर अतर्कसंगत भंडार नाम के बारे में एक issue उठाना):

$ mkdir -p $GOPATH/src/github.com/jbarham 
$ cd $GOPATH/src/github.com/jbarham 
$ git clone https://github.com/jbarham/primegen.go.git 
$ cd primegen.go 
$ go install 
+1

दुर्भाग्य से यह मामला प्रतीत नहीं होता है। मुझे निश्चित रूप से GOPATH निर्यात किया गया है और बस अन्य पैकेजों को इंस्टॉल कर सकते हैं। मुझे लगता है कि पैकेज के अंत में '.go' त्रुटियों का कारण बन रहा है। शायद कुछ और दिन मैं दृश्यों के पीछे क्या हो रहा है और अपराधी को समझने और इसके लिए एक पैच जमा करने के बारे में और जानेंगे। अभी तक, मैं अपनी गो जिज्ञासा को पूरा करने के लिए अन्य परियोजनाओं में चला गया हूं। आपकी सहायता के लिए धन्यवाद. – Drewmate

+0

यह अजीब बात है, जब मैं 'एनओवी' करता हूं तो 'गोपाथ' सूचीबद्ध होता है। मैं इसे उपरोक्त आपके आउटपुट में नहीं देख सकता। – Intermernet

6
export GOPATH=$HOME/go 

export GOBIN=$HOME/go/bin 

इसे आज़माएं।

0

मुझे एक ही समस्या थी, लेकिन पाया कि, कुछ रिपो के लिए आपको विशेष रूप से निर्यात GOPATH निर्यात करना होगा। मेरी GOPATH

cd $GOPATH 
export GOPATH=$PWD && go get -d github.com/nsf/gocode 

से उदाहरण के लिए आप सभी को एक साथ से बच सकते हैं मुझे लगता है, यदि आप इसे उर्फ:

alias goget='cd $GOPATH; export GOPATH=$PWD && go get' 

यह एकदम सही और अजीब तरह से पर्याप्त export GOPATH=$GOPATH काम नहीं करता नहीं है। किसी कारण से कुछ रिपोज़ GOPATH को $HOME पर रीसेट कर रहे हैं और एक अलग उपयोगकर्ता के रूप में निष्पादित करने का प्रयास कर रहे हैं। मेरा अनुमान go get विधि में कहीं कुछ विकास कोड है जो कॉल के साथ गड़बड़ कर रहा है। [बस एक झुकाव, मुझे उद्धरण मत दें]

संबंधित मुद्दे