गोलंग का उपयोग करके प्रोग्राम के लिए सभी निर्भरता फाइलें कैसे प्राप्त करें


89

मैं गोलंग में एक कार्यक्रम बनाता हूं और कोड को पूरा करने के बाद, अगर मैं इस कोड को अन्य पीसी या वीएम पर चलाना चाहता हूं, तो यह सभी निर्भरता पैकेज फ़ाइलों को नहीं मिलता है। मैं सभी निर्भरता फ़ाइलें कैसे प्राप्त कर सकता हूं?

go 

जवाबों:


10

आप godep saveअपने स्थानीय पीसी में उपयोग कर सकते हैं जहाँ आप अपना कार्यक्रम पूरा करते हैं। godep आपके लिए सभी निर्भरता फ़ाइलों को इकट्ठा करने से बचाते हैं। जब आप अन्य पीसी पर जाते हैं, तो बस अपने कोड के साथ Godep फ़ोल्डर की प्रतिलिपि बनाएँ और यह आपकी समस्याओं को हल करेगा।


7
शायद यह कुछ लोगों के लिए स्पष्ट है, लेकिन मुझे इसे खोदने जाना था। जाने के लिए आपको godep या dep पैकेज स्थापित करने की आवश्यकता है। इसके लिए
गितुब स्टेय

212

आप go get -d ./...सभी गो-गेटेबल निर्भरताओं को डाउनलोड करने के लिए अपनी परियोजना की एक निर्देशिका से चला सकते हैं ।
या srcअपने GOPATH से गंतव्य मशीन के लिए सभी उपनिर्देशिका की प्रतिलिपि बनाएँ ।
...एक विशेष पैटर्न है, पुनरावर्ती रूप से नीचे जाने के लिए कहता है।


1
अगर मुझे कोड को चलाने / संशोधित करने की आवश्यकता है तो यह पैकेज नहीं ढूंढता है।

1
मुझे पता है कि मैं पैकेज प्राप्त करके जा सकता हूं <पैकेज> लेकिन जब प्रोग्राम कई पैकेजों का उपयोग करता है तो यह बहुत अधिक समय लेने वाला और मुश्किल होता है।

3
-t भी परीक्षण निर्भरता स्थापित करेगा
honzajde

3
@AlbertoSchiabel ...एक विशेष पैटर्न है। यह पुनरावर्ती रूप से नीचे जाने को कहता है। मैंने एक उत्तर अपडेट किया है
RoninDev

धन्यवाद @RoninDev! सबसे पहले मैं आपके उत्तर को संपादित करने जा रहा था ./., क्योंकि आपने अपने पीसी पर कमांड की कोशिश करने के बाद इसे अटका दिया था (और अब मुझे पता है, क्योंकि गो फ़ाइलों की पुनरावर्ती खोज काफी महंगी हो सकती है), लेकिन तब मुझे एहसास हुआ कि यह बेहतर था पहले पूछना धन्यवाद!
अल्बर्टो शिबेल

51

प्रयत्न

go list -f '{{ join .Imports "\n" }}'

या

go list -f '{{ join .Deps "\n" }}'

दूसरा सभी उप-निर्भरता को सूचीबद्ध करेगा, पहला केवल सीधे आयातित पैकेज।


22

नीचे कमांड मेरे लिए काम करता है यह सभी निर्भरताओं को डाउनलोड करता है।

go get -u -v -f all

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