मैं पर्ल में एक प्रोग्रामर का पाठ संपादक (हाँ एक और एक) लिख रहा हूँ, जो भी पाठ्यक्रम के एक CPAN मॉड्यूल और Module::Install के साथ बंडल है। हाल ही में मैंने देखा कि Module::Build कोर में चला गया है, इसलिए यदि मैं स्विच करता हूं तो मैं निर्भरता को कम कर सकता हूं। स्विच करने का कोई और कारण है?क्या मुझे मॉड्यूल :: इंस्टॉल या मॉड्यूल :: बिल्ड का उपयोग करना चाहिए? <a href="http://kephra.sourceforge.net/" rel="nofollow noreferrer">Kephra</a> बुलाया
उत्तर
CUD के रूप में पहले से ही एक सा इस पर पहले "Which framework should I use to write modules?"
में चबाया दिया CUD मैं Module::Build साथ जाने का फैसला किया, लेकिन स्पष्ट रूप से अलग जवाब संभव हो रहे हैं बाहर थूकना के बाद! (हालांकि मैं अब तक एम :: बी से खुश हूं)।
खैर, Module::Build
एक बहुत अच्छा मॉड्यूल, यह ExtUtils::MakeMaker
के लिए प्रतिस्थापन में एक बूंद होने के लिए वह है, एक Build.PL है, जो एक Makefile के बजाय एक बिल्ड उत्पन्न द्वारा Makefile.PL की जगह माना जाता रहा है। इसका मतलब यह भी था कि "सरल चीजें सरल रहनी चाहिए, कठिन चीजें संभव होनी चाहिए"।
Module::Install
अलग तरीका अपनाते हैं और एक Makefile उत्पन्न करता है।
इसके अलावा, भूल नहीं है कि हर कोई :-)
सब कुछ के नवीनतम संस्करण को मैं उन मॉड्यूल के किसी भी तुलना याद नहीं है चलाता है, लेकिन मैं आपको Module::Build
और Module::Install
से कुछ चीजें मिल सकता है लगता है संबंधित cpanratings पेज।
धन्यवाद, मुझे लगता है कि एमबी मेरे लिए नाखून बनाने के बिना काम करता है –
हम अपने समूह में Module::Build का उपयोग करें।
मुख्य कारण आसान तानाना है।
मॉड्यूल :: बिल्ड आप उपवर्गीकरण के माध्यम से शुद्ध पर्ल में अपने निर्माण की प्रक्रिया के साथ और अधिक करने की अनुमति देता है। यदि आप Module::Install का उपयोग करके और अधिक करना चाहते हैं, तो आपको यह समझना होगा कि मेकफ़ाइल कैसे काम करते हैं, AFAIK। चूंकि आप संभावित रूप से पहले से ही पर्ल को जानते हैं, यह एक फायदा हो सकता है।
जैसा कि आपने कहा था, मॉड्यूल :: बिल्ड का उपयोग बाहरी make
प्रोग्राम पर निर्भरता को हटा देता है, जिसे एक अच्छी चीज़ के रूप में देखा जा सकता है।
हालांकि, मुख्य विपक्ष है कि मैं के बारे में सोच सकते हैं:
- हालांकि मॉड्यूल :: बिल्ड कोर को प्रभावित किया है, हर कोई पर्ल की एक अप-टू-डेट संस्करण का उपयोग किया जाएगा। कोर के पुराने संस्करण वाले उपयोगकर्ताओं के लिए, आप एक नई निर्भरता बनाएंगे।
- दिग्गजों (जरूरी लोगों को नहीं पर्ल) बहुत
perl Makemaker.PL; make; make install
प्रतिमान किया जाता है, और बदलेBuild.PL
होने से उतार फेंका गया जा सकता है। उम्मीद है कि यह एक बड़ा सौदा नहीं है। - मॉड्यूल :: बिल्ड ने कभी-कभी हमारे निर्माण को तोड़ दिया है जब इसकी कार्यक्षमता बदल गई है क्योंकि प्रलेखन में किनारे के मामले को शामिल नहीं किया गया था जिसका हम उपयोग कर रहे थे। किनारे का मामला तब बदल दिया गया था और दस्तावेज किया गया था, लेकिन हमें फिर से काम करने के लिए हमारे उप-वर्ग को फिर से कोड करना पड़ा (यह हाल ही में हमारे लिए 0.2808 से 0.3 तक अपग्रेड हुआ)।
सब कहा, हालांकि, मैं अब भी मॉड्यूल की सिफारिश :: तानाना के लिए बस का निर्माण करें। यदि यह आपके लिए कोई मुद्दा नहीं है, तो आप मॉड्यूल :: इंस्टॉल के साथ चिपकने से बेहतर हो सकते हैं।
- 1. अजगर त्रुटि, <a href="http://docs.python.org/library/string.html" rel="nofollow">http://docs.python.org/library/string.html</a> से
- 2. <a href="http://en.cppreference.com/w/cpp/concept/MoveConstructible" rel="nofollow">this</a> संदर्भ से निर्माता हस्ताक्षर
- 3. क्या हमें <base href = "" /> का उपयोग करना चाहिए?
- 4. स्टॉपवॉच वास्तव में टूटा हुआ है? <a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx" rel="nofollow noreferrer">Stopwatch class</a> के लिए
- 5. href अभिव्यक्ति <a href="javascript:;"></a> क्या करता है?
- 6. रेडिस (<a href="http://code.google.com/p/redis" rel="nofollow noreferrer">http://code.google.com/p/redis</a>) में गति
- 7. परीक्षण लुगदी स्थापना <a href="http://www.coin-or.org/PuLP/main/installing_pulp_at_home.html#installation" rel="nofollow">http://www.coin-or.org/PuLP/main/installing_pulp_at_home.html#installation</a> से
- 8. दोस्त == या << मुझे इसका उपयोग कब करना चाहिए?
- 9. getResultSet() <code>java.sql.Statement</code> में <code>getResultSet</code> के लिए <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/sql/Statement.html" rel="nofollow noreferrer">documentation</a> के अनुसार
- 10. जेनेटिक एल्गोरिदम के लिए सर्वोत्तम पैरामीटर कैसे खोजें? इस तरह के <a href="http://www.aforgenet.com/" rel="nofollow noreferrer">http://www.aforgenet.com/</a> रूप
- 11. <a href.. in PHP
- 12. मैं कैसे जब मैं GitHub में एक रेपो (उदाहरण: <a href="https://github.com/sizzlelab/kassi" rel="nofollow">https://github.com/sizzlelab/kassi</a>) ब्राउज़
- 13. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 14. मैं <a href="http://cloudexchange.cloudapp.net/stackoverflow/query/new" rel="nofollow noreferrer">Data Explorer</a> के लिए सी #
- 15. अजगर <a href="http://peak.telecommunity.com/DevCenter/setuptools#development-mode" rel="nofollow noreferrer">setuptools</a> प्रलेखन के अनुसार easy_install.pth
- 16. मुझे लिनक्स कर्नेल मॉड्यूल कब लिखना चाहिए?
- 17. मुझे रेगेक्स में \ A का उपयोग कब करना चाहिए?
- 18. क्या मुझे <a href="https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html" rel="noreferrer">Apple</a> के अनुसार प्रति टैब बार
- 19. आधिकारिक दस्तावेज़ीकरण <a href="https://developers.google.com/appengine/docs/python/tools/libraries27" rel="noreferrer">here</a> के अनुसार Google ऐप इंजन (पायथन)
- 20. रेल पर रूबी: मुझे मॉड्यूल कहां स्टोर करना चाहिए?
- 21. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 22. '% s'% 'somestring' <a href="http://github.com/nathanborror/django-basic-apps/" rel="nofollow noreferrer">django-basic-apps</a> से लिया उदाहरण के एक जोड़े
- 23. <a href="http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M002292" rel="noreferrer">ActionView documentation</a> के अनुसार
- 24. मुझे मॉड्यूल की घोषणा और निर्यात कैसे करना चाहिए?
- 25. क्या मुझे सामान्य :: भावना का उपयोग करना चाहिए या 'सख्त उपयोग' और 'चेतावनियों का उपयोग' के साथ बस रहना चाहिए?
- 26. मुझे कई पर्ल मॉड्यूल कैसे व्यवस्थित करना चाहिए?
- 27. मैं किस पर्ल परीक्षण मॉड्यूल का उपयोग करना चाहिए?
- 28. क्या मुझे कर्सर को पाइथन MySQLdb मॉड्यूल
- 29. क्या मुझे HTML <button> या <input> का उपयोग करना चाहिए?
- 30. rel = "nofollow me" क्या करता है?
धन्यवाद, यह दिलचस्प था –
सबसे बड़ा जवाब नहीं है, लेकिन यह वही है जो मैं चाहता था –