2012-09-20 14 views
8

स्थानीय निर्देशिका में संकुल को स्थापित करने के लिए सबसे अच्छा अभ्यास क्या है (go get... के साथ)?गोलांग: स्थानीय निर्देशिका में संकुल अधिष्ठापन

उदाहरण: मैं Revel वेब ढांचे का प्रयास करना चाहता हूं, लेकिन मैं /usr/local/go पर अपनी जाने की स्थापना को अव्यवस्थित नहीं करना चाहता हूं।

आम तौर पर मैं होम पेज पर लिखे गए sudo go get github.com/robfig/revel कहूंगा, लेकिन यह /usr/local/go/src/pkg/... के नीचे स्थापित करेगा।

क्या कहने का कोई आसान तरीका है (उदाहरण के लिए) go get --local ... और वर्तमान (उप) निर्देशिका में पैकेज है?

+0

यह चुनने के लिए मुश्किल है कि कौन सा जवाब स्वीकार करना है। इस पल के लिए मैंने केवल 'गोपाथ' के साथ खेला है, इसलिए @ केक्स का जवाब मैंने चुना है, लेकिन यह भविष्य में बदल सकता है :) – topskip

उत्तर

8

आप env चर GOPATH निर्यात कर सकते हैं। मेरे लिए यह है। इस फ़ोल्डर में सबफ़ोल्डर bin, pkg और src हैं, इसलिए यह /usr/local/go जैसा है। go -tool स्वचालित रूप से इस निर्देशिका में संकुल को डाउनलोड, निर्माण और स्थापित करेगा।

16

विस्तार करने के लिए पर keks का जवाब, तो आप इस

export GOROOT=/usr/local/go 
export GOPATH=~/workspace/me/go 
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 

तरह देखने के लिए अपने .bashrc अद्यतन कर सकते हैं अब सभी संकुल go get के साथ स्थापित किया जाने वितरण से अलग हैं।

9

आप Go Version Manager (gvm) का उपयोग करने पर विचार करना चाहेंगे।

आसानी से गो संस्करणों के बीच स्विच करने के अलावा, यह आपको pkgsets ("वर्कस्पेस") के बीच स्विच करने देता है।

सबसे पहले आप एक सेट

gvm pkgset create myproject 

बनाने और उसके बाद आप इसे

gvm pkgset use myproject 

वर्क्स एक आकर्षण की तरह इस्तेमाल करते हैं।

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