मैं गो में आवश्यकताओं को कैसे स्थापित करूं? "पैकेज नहीं मिल रहा है"


82

मैं जाने के लिए नया हूं और मैं न्यूनतम प्रलेखन के साथ एक गो परियोजना स्थापित करने की कोशिश कर रहा हूं: https://github.com/alphagov/metaday-i

मैंने इसे क्लोन किया है, लेकिन जब मैं कोशिश करता go buildहूं तो मुझे निम्न चेतावनी मिलती है:

main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
    /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
    /Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)

मैं अनुमान लगा रहा हूं क्योंकि मैंने गो आवश्यकताओं के बराबर स्थापित नहीं किया है?

मेरा GOPATHसेट है:

metadata-api$ echo $GOPATH
/Users/me/go

और गो निष्पादन योग्य है

metadata-ape$ echo $PATH
....:/Users/me/go/bin

इन पैकेजों को खोजने में सहायता के लिए मुझे क्या करने की आवश्यकता है?


अद्यतन: मैंने अपने पथ पर Go जोड़ा export PATH=$PATH:/Users/anna/goऔर अब go buildकोई त्रुटि उत्पन्न नहीं करता है ... और न ही यह कुछ भी उत्पन्न करता है।
रिचर्ड

जवाबों:


93

आपको पहले पैकेज स्थापित करना चाहिए:

प्रयत्न

$ go get github.com/Sirupsen/logrus

और आप की जाँच $GOPATHdir

यह प्रोजेक्ट gomपैकेज मैनेजर के रूप में उपयोग होता है ,

सुनिश्चित करें कि आपने स्थापित किया है gom

या इस आदेश का प्रयास करें

$ gom install 

मुझे लगता है कि आपकी $GOPATHऔर $PATHसेटिंग्स गलत हैं, $GOPATHपर्यावरण चर आपके कार्यक्षेत्र का स्थान निर्दिष्ट करता है, ये मेरी पथ सेटिंग्स हैं:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN

1
धन्यवाद। gom installलगता है चाल कर रहा है, लेकिन आप कैसे इस परियोजना का इस्तेमाल किया पता था gom?
रिचर्ड

14
मैंने भी सहजता से कोशिश की go getऔर मुझे लगता है कि यह मेरी सारी निर्भरता एक ही समय में मिल गई।
जॉन Bubriski

$ GOPATH पर्यावरण चर आपके कार्यक्षेत्र का स्थान निर्दिष्ट करता है? क्या इसका मतलब यह है कि मुझे इन सभी चरों को हर बार निर्यात करना होगा ताकि मैं एक नया कार्यक्षेत्र-परियोजना बना सकूं?
उगुर यिलमाज़

27

मेरा भी ऐसा ही मुद्दा था और

export GO111MODULE=on 

मदद की।


2
मुझे भी यही चाहिए था। क्यों देख रहे हैं - यहाँ एक ठहरनेवाला है: dev.to/maelvls/…
टिम मेलोन

बस बहुत लंबा समय बिताया क्यों यह पता लगाने की कोशिश कर रहा है। इसके लिए शुक्रिया!!!
cpk

2

टाइप करके गो 1.13.7 में इसी तरह की समस्या को ठीक करने में सक्षम था:

 export GOPATH=~/go
 go get github.com/profile/repository 
 (e.g. github.com/Sirupsen/logrus)

0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.