एक शुरुआत के रूप में, मैं इस त्रुटि के पार चला गया जब मैं विभिन्न गो कमांड (निर्माण, रन और स्थापित) की कोशिश कर रहा था। संक्षेप में, आप नहीं कर सकते हैं स्थापित करने जाना एक filename.go । आप केवल एक पैकेज स्थापित कर सकते हैं।
यह भ्रामक था, क्योंकि मैंने सीखा था कि:
nate:~/work/src/dir $ go run hello/hello.go
hello, world.
बहुत अच्छा काम करता है। लेकिन मैं समझ नहीं सकता है क्यों स्थापित नहीं होगा काम:
nate:~/work/src/dir $ go install hello/hello.go
go install: no install location for .go files listed on command line (GOBIN not set)
nate:~/work/src/dir $ go install hello
can't load package: package hello: cannot find package "hello" in any of:
/opt/go/src/hello (from $GOROOT)
/home/ubuntu/work/src/hello (from $GOPATH)
कोई फर्क नहीं पड़ता कि मैं किस निर्देशिका में था:
nate:~/work/src/dir $ cd hello
nate:~/work/src/dir/hello $ go install hello.go
go install: no install location for .go files listed on command line (GOBIN not set)
nate:~/work/src/dir/hello $ go install hello
can't load package: package hello: cannot find package "hello" in any of:
/opt/go/src/hello (from $GOROOT)
/home/ubuntu/work/src/hello (from $GOPATH)
यह भ्रम इसलिए है क्योंकि गो रन केवल गो सोर्स फाइल्स के साथ काम करता है (फाइलनाम जो कि एंडो में समाप्त होता है) और गो इंस्टाल केवल पैकेज स्वीकार करता है। संकुल को उनके आयात पथ या फ़ाइल सिस्टम पथ द्वारा नाम दिया गया है। इस प्रकार:
nate:~/work/src/dir $ go install dir/hello
nate:~/work/src/dir $ go install ./hello/
nate:~/work/src/dir/hello $ go install .
सभी महान काम करते हैं। पहले आयात पथ द्वारा पैकेज को संदर्भित करता है, (उस $ GOPATH = "/ home / nate / work" को देखते हुए, गो उपकरण, स्रोत कोड / home / nate / work / src में खोजते हैं), अन्य को फ़ाइल सिस्टम के रूप में व्याख्या किया जाता है। अग्रणी अवधि के कारण पथ।
GOPATH डॉक्स भी देखें ।
go install
स्थापित नहीं करता है । कृपया सभी golang.org/cmd/go को पढ़ें और देखें कि अपनी फ़ाइलों को कैसे सेट करें।