"बिल्ड-एसेंशियल" और "बिल्ड-डिप" क्या हैं?


66

मैं Xubuntu 10.04 में रूबी 1.9.1 स्थापित करने के लिए कैसे शोध कर रहा हूँ और मैं आदेश में आए निर्माण आवश्यक और निर्माण-DEP कई बार। कभी-कभी इसका अनुसरण संकुल द्वारा किया जाता है और कभी-कभी यह संकुल द्वारा पूर्ववर्ती और पोस्ट-सीडेड दोनों होता है।

मैं देख रहा हूँ 2 उदाहरण हैं:

sudo apt-get install बिल्ड-Essential zlib1g zlib1g-dev zlibc libruby1.9 libxml2 libxml2-dev libxslt-dev

sudo apt-get build-dep ruby1.9

तथा

sudo apt-get install रूबी irb ri rdoc ruby1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby लिब्रुबी-लाइब्रुबी-एक्सट्रैस libfcgi-ruby1.8 बिल्ड-एसेंशियल लिबासर्ल-रूबल libdbd-sqlite3-ruby sqlite3 libsqlite3-dev libsqlite3-ruby libxml-ruby libxml2-dev


3
ध्यान दें कि यह एक कमांड नहीं है, लेकिन डेबियन पैकेज सिस्टम (APT) में एक पैकेज है। आप GUI टूल का उपयोग करके पैकेज भी प्राप्त कर सकते हैं।

धन्यवाद। हालांकि यह रूबी से कैसे संबंधित है? मुझे लगता है कि रूबी को इसे चलाने की जरूरत है लेकिन शायद मैं गलत हूं।
कक्षा

जवाबों:


48

build-essentialपैकेज सब एक Debian पैकेज संकलन करने के लिए आवश्यक पैकेज के लिए एक संदर्भ है। इसमें आमतौर पर जीसीसी / जी ++ संकलक और पुस्तकालय और कुछ अन्य उपयोगिताओं शामिल हैं।

यहां दस्तावेज देखें


2
ठीक है, लेकिन वह अभी भी मेरे सवाल का पूरी तरह से जवाब नहीं देता है। मैं समझता हूं कि 'बिल्ड-एसेंशियल' में संकुल की सूचनात्मक सूची होती है जो डेबियन पैकेज बनाने के लिए आवश्यक होती है। लेकिन डेबियन पैकेज क्या माना जाता है? माणिक? gcc / g ++ कंपाइलर? और डेबियन पैकेज और 'बिल्ड-एसेंशियल' रूबी से कैसे संबंधित है? क्या रूबी डेबियन पैकेज के शीर्ष पर बनी है? दूसरा रास्ता रखो, क्या रूबी को रन बनाने के लिए बिल्ड-एसेंशियल पैकेज की आवश्यकता है? मैं वास्तव में एक दृश्य प्रतिनिधित्व देखना चाहता हूं? इन सभी भागों के बीच संबंध।
22

3
इसे सीधे शब्दों में कहें, अगर आपको (या कुछ अन्य पैकेज जिसे आप इंस्टॉल करना चाहते हैं) को C / C ++ कंपाइलर की जरूरत है, तो आपको बिल्ड-एसेंशियल इंस्टॉल करना होगा। आमतौर पर यह पहली चीज है जिसे मैं नए उबंटू इंस्टॉलेशन में स्थापित करता हूं :-)

4
@ अदम चूंकि रूबी एक व्याख्या की गई भाषा है, दुभाषिये को आपकी मशीन पर चलने के लिए स्वयं को बनाने के लिए C या C ++ कंपाइलर की आवश्यकता होती है। build-essentialएक रूपक है (एक पैकेज जो कई अन्य संकुल स्थापित करता है, जैसे g ++ और gcc: GNU C & C ++ बॉयलर)। यदि आप स्रोत से कुछ भी संकलित करना चाहते हैं, और यदि आप लगभग किसी भी प्रोग्रामिंग भाषा के साथ काम करना चाहते हैं तो यह आवश्यक है। HTH!
20

7
यह उत्तर गलत है। नीचे दिया गया उत्तर सही है। build-depapt-get कमांड है और build-essentialएक पैकेज है।
डेविड

2
यह सही उत्तर नहीं है। प्रदान किया गया लिंक बिल्ड-आवश्यक पैकेज में क्या है, इसके बारे में कोई जानकारी या स्पष्टीकरण नहीं देता है।
डेव जुएल

55

कमांड का sudo apt-get build-dep packagenameअर्थ है "रूट के रूप में, 'पैकजेनम' के लिए सभी निर्भरताएं स्थापित करें ताकि मैं इसे बना सकूं"। तो build-dep एक apt-get कमांड है जैसे कि इंस्टॉल, रिमूव, अपडेट आदि।

build-essential एक पैकेज है जिसमें सामान्य रूप से सॉफ़्टवेयर के निर्माण के लिए आवश्यक कई पैकेजों का संदर्भ होता है।


1
'बिल्ड-डिप' कमांड को समझाने के लिए धन्यवाद। इसलिए जैसा कि मैं इसे समझता हूं, इस मामले में Ruby1.9 के पास एक निर्भरता सूची है जो कि लिनक्स 'टू डू / बिल्ड लिस्ट' के रूप में दिखती है और एक-एक करके उन सभी वस्तुओं को बनाता है। निर्मित होने वाला अंतिम बुनियादी ढाँचा Ruby1.9 को ठीक से काम करने देता है। जो मुझे समझ नहीं आ रहा है वह यह है कि 'बिल्ड-एसेंशियल', या अन्य सभी पैकेज टॉप लाइन (zlib1g zlib1g-dev zlibc libruby1.9 आदि) आदि में 'टू डू / बिल्ड लिस्ट' में शामिल नहीं होंगे। 'Ruby1.9 से जुड़ी। यह आसान नहीं होता अगर वहाँ सिर्फ एक आदेश था?
कक्षा 11

5

build-essentialएक जादुई संपत्ति है: इसे https://www.debian.org/doc/debian-policy/ch-source.html# पर प्रलेखित स्रोत पैकेजों के Build-Dependsनियंत्रण क्षेत्र ( debian-packages) के तहत बिल्ड निर्भरता के रूप में सूचीबद्ध करने की आवश्यकता नहीं है। s-pkg-संबंधों

आप निर्माण-आवश्यक पैकेजों की एक सूची यहां प्राप्त कर सकते हैं:

cat /usr/share/doc/build-essential/list

आप यह भी निर्धारित कर सकते हैं कि कोई पैकेज किसका हिस्सा है build-essential:

apt-get show gcc

जो कहते हैं:

Build-Essential: yes

4

"बिल्ड-एसेंशियल" में सोर्स से सॉफ्टवेयर बनाने / बनाने के लिए टूल (जैसे gcc कंपाइलर, टूल, आदि) होते हैं। तो आप (आमतौर पर सी) स्रोत फ़ाइलों के साथ शुरू करते हैं और उनसे निष्पादनयोग्य बनाते हैं।

यदि आप सिर्फ रूबी को स्थापित करने की कोशिश कर रहे हैं, तो मैं सिर्फ आरवीएम (रूबी संस्करण प्रबंधक) का उपयोग करने की अत्यधिक सलाह दूंगा :

"जीथूब रिपोजिटरी (अनुशंसित)" के तहत निर्देशों का पालन करें

ध्यान दें कि आपको पहले स्थापित Git संस्करण नियंत्रण सॉफ़्टवेयर की आवश्यकता होगी। apt-get install git-coreयदि आपके पास अभी तक ऐसा नहीं है तो उपयोग करें ।

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