2008-12-15 27 views
8

मैं पर्ल में एक प्रोग्रामर का पाठ संपादक (हाँ एक और एक) लिख रहा हूँ, जो भी पाठ्यक्रम के एक CPAN मॉड्यूल और Module::Install के साथ बंडल है। हाल ही में मैंने देखा कि Module::Build कोर में चला गया है, इसलिए यदि मैं स्विच करता हूं तो मैं निर्भरता को कम कर सकता हूं। स्विच करने का कोई और कारण है?क्या मुझे मॉड्यूल :: इंस्टॉल या मॉड्यूल :: बिल्ड का उपयोग करना चाहिए? <a href="http://kephra.sourceforge.net/" rel="nofollow noreferrer">Kephra</a> बुलाया

उत्तर

5

CUD के रूप में पहले से ही एक सा इस पर पहले "Which framework should I use to write modules?"

में चबाया दिया CUD मैं Module::Build साथ जाने का फैसला किया, लेकिन स्पष्ट रूप से अलग जवाब संभव हो रहे हैं बाहर थूकना के बाद! (हालांकि मैं अब तक एम :: बी से खुश हूं)।

+0

धन्यवाद, यह दिलचस्प था –

+0

सबसे बड़ा जवाब नहीं है, लेकिन यह वही है जो मैं चाहता था –

5

खैर, Module::Build एक बहुत अच्छा मॉड्यूल, यह ExtUtils::MakeMaker के लिए प्रतिस्थापन में एक बूंद होने के लिए वह है, एक Build.PL है, जो एक Makefile के बजाय एक बिल्ड उत्पन्न द्वारा Makefile.PL की जगह माना जाता रहा है। इसका मतलब यह भी था कि "सरल चीजें सरल रहनी चाहिए, कठिन चीजें संभव होनी चाहिए"।

Module::Install अलग तरीका अपनाते हैं और एक Makefile उत्पन्न करता है।

इसके अलावा, भूल नहीं है कि हर कोई :-)

सब कुछ के नवीनतम संस्करण को मैं उन मॉड्यूल के किसी भी तुलना याद नहीं है चलाता है, लेकिन मैं आपको Module::Build और Module::Install से कुछ चीजें मिल सकता है लगता है संबंधित cpanratings पेज।

+0

धन्यवाद, मुझे लगता है कि एमबी मेरे लिए नाखून बनाने के बिना काम करता है –

6

हम अपने समूह में Module::Build का उपयोग करें।

मुख्य कारण आसान तानाना है।

मॉड्यूल :: बिल्ड आप उपवर्गीकरण के माध्यम से शुद्ध पर्ल में अपने निर्माण की प्रक्रिया के साथ और अधिक करने की अनुमति देता है। यदि आप Module::Install का उपयोग करके और अधिक करना चाहते हैं, तो आपको यह समझना होगा कि मेकफ़ाइल कैसे काम करते हैं, AFAIK। चूंकि आप संभावित रूप से पहले से ही पर्ल को जानते हैं, यह एक फायदा हो सकता है।

जैसा कि आपने कहा था, मॉड्यूल :: बिल्ड का उपयोग बाहरी make प्रोग्राम पर निर्भरता को हटा देता है, जिसे एक अच्छी चीज़ के रूप में देखा जा सकता है।

हालांकि, मुख्य विपक्ष है कि मैं के बारे में सोच सकते हैं:

  • हालांकि मॉड्यूल :: बिल्ड कोर को प्रभावित किया है, हर कोई पर्ल की एक अप-टू-डेट संस्करण का उपयोग किया जाएगा। कोर के पुराने संस्करण वाले उपयोगकर्ताओं के लिए, आप एक नई निर्भरता बनाएंगे।
  • दिग्गजों (जरूरी लोगों को नहीं पर्ल) बहुत perl Makemaker.PL; make; make install प्रतिमान किया जाता है, और बदले Build.PL होने से उतार फेंका गया जा सकता है। उम्मीद है कि यह एक बड़ा सौदा नहीं है।
  • मॉड्यूल :: बिल्ड ने कभी-कभी हमारे निर्माण को तोड़ दिया है जब इसकी कार्यक्षमता बदल गई है क्योंकि प्रलेखन में किनारे के मामले को शामिल नहीं किया गया था जिसका हम उपयोग कर रहे थे। किनारे का मामला तब बदल दिया गया था और दस्तावेज किया गया था, लेकिन हमें फिर से काम करने के लिए हमारे उप-वर्ग को फिर से कोड करना पड़ा (यह हाल ही में हमारे लिए 0.2808 से 0.3 तक अपग्रेड हुआ)।

सब कहा, हालांकि, मैं अब भी मॉड्यूल की सिफारिश :: तानाना के लिए बस का निर्माण करें। यदि यह आपके लिए कोई मुद्दा नहीं है, तो आप मॉड्यूल :: इंस्टॉल के साथ चिपकने से बेहतर हो सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे