GOPATH पर्यावरण वैरिएबल गो कोड देखने के लिए स्थानों को सूचीबद्ध करता है। यूनिक्स पर, मूल्य एक बृहदान्त्र-पृथक स्ट्रिंग है। विंडोज पर, मान एक अर्धविराम से अलग स्ट्रिंग है। योजना 9 पर, मूल्य एक सूची है।
यदि पर्यावरण चर अप्रभावी है, तो GOPATH उपयोगकर्ता के होम डायरेक्टरी में "गो" ($ HOME / Unix,% USERPROFILE% \ go पर चलते हैं) नामक उपनिर्देशिका को तब तक डिफॉल्ट करता है, जब तक कि वह डायरेक्टरी गो डिस्ट्रीब्यूशन नहीं रखती। वर्तमान GOPATH को देखने के लिए "go env GOPATH" चलाएं।
Https://golang.org/wiki/SettingGOPATH देखेंकस्टम GOPATH सेट करने के लिए ।
GOPATH में सूचीबद्ध प्रत्येक निर्देशिका में एक निर्धारित संरचना होनी चाहिए:
Src निर्देशिका स्रोत कोड रखती है। Src के नीचे का पथ आयात पथ या निष्पादन योग्य नाम निर्धारित करता है।
Pkg निर्देशिका स्थापित पैकेज ऑब्जेक्ट रखती है। जैसे कि गो ट्री में, प्रत्येक टार्गेट ऑपरेटिंग सिस्टम और आर्किटेक्चर पेयर में pkg (pkg / GOOS_GOZCH) की अपनी उपनिर्देशिका होती है।
यदि DIR GOPATH में सूचीबद्ध एक निर्देशिका है, तो DIR / src / foo / bar में स्रोत वाला एक पैकेज "foo / bar" के रूप में आयात किया जा सकता है और इसका संकलित रूप "DIR / pkg / GOOS / GOARCH / foo / bar.a में स्थापित किया गया है "।
बिन निर्देशिका संकलित कमांड रखती है। प्रत्येक कमांड को उसके स्रोत निर्देशिका के लिए नामित किया गया है, लेकिन केवल अंतिम तत्व, संपूर्ण पथ नहीं। अर्थात्, DIR / src / foo / quux में स्रोत के साथ कमांड DIR / bin / quux में स्थापित है, DIR / bin / foo / quux में नहीं। "फू /" उपसर्ग छीन लिया जाता है ताकि आप स्थापित आदेशों को प्राप्त करने के लिए अपने पैट में डीआईआर / बिन जोड़ सकें। यदि GOBIN पर्यावरण चर सेट किया जाता है, तो DIR / bin के बजाय निर्देशिका के नाम पर कमांड स्थापित किए जाते हैं। GOBIN एक पूर्ण पथ होना चाहिए।
यहाँ एक उदाहरण निर्देशिका लेआउट है:
GOPATH=/home/user/go
/home/user/go/
src/
foo/
bar/ (go code in package bar)
x.go
quux/ (go code in package main)
y.go
bin/
quux (installed command)
pkg/
linux_amd64/
foo/
bar.a (installed package object)
..........
अगर GOPATH को बेस प्रोजेक्ट DIR में सेट किया गया है और अभी भी यह समस्या है, तो विंडोज़ में आप GOBIN को Base Project DIR\bin
या तो सेट करने की कोशिश कर सकते हैं %GOPATH%\bin
।
$GOPATH/bin
निर्देशिका न होने के कारण हुई । इस फ़ोल्डर को बनाने की आवश्यकता थी - मुझेGOBIN
env var सेट करने की आवश्यकता नहीं थी ।