2012-01-18 5 views
7

मेरे पास एक दूरस्थ बॉक्स पर रूट पहुंच नहीं है जिसके साथ मैं काम कर रहा हूं, इसलिए मैं सीपीएएनएम और स्थानीय :: lib के संयोजन का उपयोग कर रहा हूं जैसा कि here को बॉक्स पर मेरी स्थानीय निर्देशिका में सीपीएएन मॉड्यूल स्थापित करने के लिए वर्णित है। Cpanm का उपयोग करके, मुझे लगता है कि cpanm Module::To::Update मेरी स्थानीय लाइब्रेरी में मॉड्यूल का नवीनतम संस्करण स्थापित करेगा।पर्ल क्या करता है जब मॉड्यूल के दो संस्करण स्थापित होते हैं?

जाहिर है, मुझे सीपीएएन के साथ अपने मॉड्यूल को अपग्रेड करने के लिए रूट पहुंच की आवश्यकता नहीं है, क्योंकि मैंने अभी कोशिश की है, और अपग्रेड तैराकी से चला गया। हालांकि, मैं अभी भी उत्सुक हूं कि मॉड्यूल पर्ल का कौन सा संस्करण उपयोग करेगा: स्थानीय संस्करण, या डिफ़ॉल्ट CPAN संस्करण? या यह सिर्फ जो भी नया है उसका उपयोग करेगा?

यदि यह परल्डोक या स्टैक ओवरफ़्लो में मौजूद है, तो मैं भी इसकी सराहना करता हूं। मैंने दोनों को खोजने की कोशिश की, लेकिन मैं इसे खोजने में सक्षम नहीं था =/

उत्तर

13

यह पहली बार उपयोग करता है जब यह @INC खोजते समय खोजता है।

+0

ओह। यह बहुत आसान है। और संभावित रूप से 'मॉड्यूल संस्करण का उपयोग' निर्दिष्ट करने से मुझे वह चुनने देगा जो मैं मैन्युअल रूप से चाहता था। धन्यवाद। – gempesaw

+4

@dgempesaw - यह धारणा गलत होगी। यदि आपको किसी विशेष स्थान से कोई विशेष मॉड्यूल लोड करने की आवश्यकता है, तो आपको '@ INC' या'% INC' पर हैक करना होगा (ऐसा करने के कई तरीके हैं। ऐसा करने के लिए कैसे एक अच्छा अनुवर्ती प्रश्न होगा)। – mob

+4

@dgempesaw, मॉड्यूल के संस्करण को खोजने के लिए, पर्ल को मॉड्यूल निष्पादित करने की आवश्यकता है। यदि यह सही संस्करण नहीं है तो मॉड्यूल को निष्पादित नहीं किया जा सकता है। – ikegami

0

आप लिनक्स में इस चलाकर यह जांच कर सकते हैं:

perl -e 'use <module>; print $<module>::VERSION;'

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