"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > शीर्ष-स्तरीय `cmd` फ़ोल्डर के बिना एक साथ एकाधिक गो पैकेज बायनेरिज़ कैसे बनाएं?

शीर्ष-स्तरीय `cmd` फ़ोल्डर के बिना एक साथ एकाधिक गो पैकेज बायनेरिज़ कैसे बनाएं?

2024-11-11 को प्रकाशित
ब्राउज़ करें:621

How to Build Multiple Go Package Binaries Simultaneously Without a Top-Level `cmd` Folder?

एक साथ मल्टीपल गो पैकेज बायनेरिज़ का निर्माण

प्रश्न एक साथ कई पैकेज बायनेरिज़ के निर्माण के इर्द-गिर्द घूमता है, जैसा कि शीर्ष-स्तरीय का उपयोग करने की डिफ़ॉल्ट सलाह है सीएमडी फ़ोल्डर काम नहीं कर रहा है। प्रदान किया गया कोड उदाहरण एक विशेष फ़ोल्डर संरचना दिखाता है जो विशिष्ट बाइनरी को सही ढंग से बनाने में सक्षम बनाता है।

गो बिल्ड कमांड का उपयोग करके एक चरण में सभी बाइनरी बनाने के लिए, निम्नलिखित में से एक बदलाव की सिफारिश की जाती है:

cd $GOPATH/someProject
for CMD in `ls src/cmd`; do
  go build ./src/cmd/"$CMD"
done

यह कमांड src/cmd निर्देशिका में पैकेजों के माध्यम से पुनरावृत्त होता है और प्रत्येक पैकेज को व्यक्तिगत रूप से बनाता है। परिणामी बायनेरिज़ को उनके संबंधित पैकेज निर्देशिकाओं में संग्रहीत किया जाएगा।

वैकल्पिक रूप से, यदि आप बायनेरिज़ को $GOPATH/bin में स्थापित नहीं करना चाहते हैं, तो एक स्क्रिप्ट को नियोजित किया जा सकता है। ओपन सोर्स प्रोजेक्ट्स में यह एक सामान्य अभ्यास है, जहां बिल्ड स्क्रिप्ट कई बाइनरी उत्पादन को संभालती हैं।

निम्नलिखित उदाहरण स्क्रिप्ट का उपयोग किया जा सकता है:

cd $GOPATH/someProject
for CMD in `ls cmd`; do
  go build ./cmd/$CMD
done

यह स्क्रिप्ट cmd निर्देशिका में पैकेजों के माध्यम से पुनरावृत्त होती है और प्रत्येक पर बिल्ड चलती है। परिणाम उनके संबंधित सीएमडी पैकेज निर्देशिकाओं में संग्रहीत बायनेरिज़ का एक सेट है।

आगे के संदर्भ के लिए, निम्नलिखित लोकप्रिय परियोजनाएं बिल्ड स्क्रिप्ट के उदाहरण प्रदान करती हैं:

  • ग्राफाना: https:// github.com/grafana/grafana/blob/master/build.go
  • टोरस: https://github.com/coreos/torus/blob/master/Makefile
  • कैडी: https://github.com/mholt/caddy/blob/master/dist/automate.go
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3