GOPRIVATE पर्यावरण चर कैसे सेट करें


15

मैंने एक Goप्रोजेक्ट पर काम करना शुरू कर दिया है और यह गितुब प्राइवेट रेपो से कुछ निजी मॉड्यूल का उपयोग करता है और जब भी मैं go run main.goइसे चलाने की कोशिश करता हूं तो मुझे नीचे दिए गए संकेत मिलते हैं 410 Gone:

verify github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod: github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod: https: //sum.golang पढ़ना । org / lookup / github.com / -repoURL/go-proto@v2.86.0+incompatible : 410 चला गया

मैं आसानी से टर्मिनल से निजी रेपो को क्लोन कर सकता हूं जिसका मतलब है कि मेरी sshचाबियाँ सही तरीके से कॉन्फ़िगर की गई हैं। मैंने यहां पढ़ा कि मुझे GOPRIVATEपर्यावरण चर निर्धारित करने की आवश्यकता है लेकिन मुझे यकीन नहीं है कि ऐसा कैसे किया जाए।

क्या कोई प्रासंगिक ट्यूटोरियल का उत्तर या बिंदु दे सकता है?

Go: v1.13, OS: macOS Mojave


man $(basename $SHELL)
पीटर

1
इसके लिए एक मदद है:go help module-private
सोरूस

जवाबों:


24

संक्षिप्त जवाब:

go env -w GOPRIVATE=github.com/repoURL/private-repo

या

यदि आप अपने संगठन से सभी निजी रेपो को अनुमति देना चाहते हैं

go env -w GOPRIVATE=github.com/<OrgNameHere>/*

लंबा जवाब:

अधिक जानकारी के लिए "गैर-सार्वजनिक मॉड्यूल के लिए मॉड्यूल कॉन्फ़िगरेशन" जांचें :

GOPRIVATE पर्यावरण चर नियंत्रण करता है कि कौन सा मॉड्यूल गो कमांड को निजी मानता है (सार्वजनिक रूप से उपलब्ध नहीं) और इसलिए प्रॉक्सी या चेकसम डेटाबेस का उपयोग नहीं करना चाहिए। चर, मॉड्यूल पथ उपसर्गों के ग्लोब पैटर्न (गो के पथ के सिंटैक्स में) की अल्पविराम से अलग की गई सूची है। उदाहरण के लिए,

 GOPRIVATE=*.corp.example.com,rsc.io/private

git.corp.example.com/xyzzy, rsc.io/pStreet, और rsc.io/pStreet/quux सहित पैटर्न से मेल खाते हुए पथ उपसर्ग के साथ निजी किसी भी मॉड्यूल के रूप में व्यवहार करने के लिए कमांड का कारण बनता है।

। ।

'Go env -w' कमांड (देखें 'go help env') का इस्तेमाल भविष्य में जाने वाले कमांड इनवेशन के लिए इन वेरिएबल्स को सेट करने के लिए किया जा सकता है।


Ssh के उपयोग पर ध्यान दें:

यदि आप git रेपो (स्थानीय रूप से होस्ट किए गए) तक पहुंचने के लिए ssh का उपयोग करते हैं, तो आप निम्नलिखित को अपने साथ जोड़ना चाहेंगे ~/.gitconfig:

[url "ssh://git@git.local.intranet/"]
       insteadOf = https://git.local.intranet/

gogit सर्वर तक पहुँचने में सक्षम होने के लिए कमांड के लिए।


1
धन्यवाद! अब काम कर रहा है इसलिए संगठन नाम के साथ वाइल्डकार्ड url का उपयोग करने की चाल थी। go env -w GOPRIVATE=github.com/{OrgNameHere}/*
उस्माअमजद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.