2012-03-08 12 views
10

मुझे आश्चर्य है कि कोई मेरी मदद कर सकता है या नहीं। मैंने कमांड लाइन के माध्यम से CPAN.pm स्थापित किया और फिर सीपीएएन के माध्यम से एक मॉड्यूल स्थापित करने का प्रयास किया।पहली बार सीपीएन चलाने में त्रुटि

Can't call method "http" on unblessed reference at /usr/lib/perl5/5.10.0/CPAN/FirstTime.pm line 1866. 
+1

"स्थापित सीपीएएन"? सीपीएएन एक कोर मॉड्यूल है। – TLP

+0

@ टीएलपी हां, यह सीपीएएन है जिसे मैंने कमांड लाइन से पहले कोज़ से स्थापित किया है, ऐसा लगता है कि यह उस प्रणाली का हिस्सा नहीं था जिसे मैं बनाए रख रहा हूं (fedora11)। मैंने इसे स्रोत से संकलित/स्थापित किया, फिर इसके माध्यम से एक मॉड्यूल स्थापित करने का प्रयास किया। तब मैं उस त्रुटि का सामना कर रहा हूं जिसे मैंने हाइलाइट किया था। ध्यान दें कि मेरा http_proxy सेट है इसलिए मेरे इंटरनेट कनेक्शन – icasimpan

+0

के साथ कोई समस्या नहीं है आपको हमें यह दिखाने की ज़रूरत है कि आपने कमांड लाइन पर क्या किया था। –

उत्तर

6

सबसे पहले मैं हैरान CPAN पहले से ही स्थापित नहीं है कि के रूप में यह मानक पर्ल वितरण पर्ल 5.004 के बाद से पंद्रह साल पहले जारी किया गया था का हिस्सा रहा है कर रहा हूँ: लेकिन मैं कोई त्रुटि आई।

दूसरी बात मैं हैरान हूँ कि तुम अब भी फेडोरा 11 का उपयोग कर रहे संस्करण जून 2010

तीसरे के बाद से असमर्थित कर दिया गया है कि, मुझे आश्चर्य है कि आप के रूप में CPANPLUS और cpanminus हैं CPAN.pm का उपयोग करना चाहते हूं दोनों सीपीएएन के लिए बेहतर इंटरफेस।

लेकिन उन सभी आश्चर्यों को देखते हुए, यदि आप अपने सिस्टम पर सीपीएएन चाहते हैं, तो सबसे अच्छा तरीका संभव है कि फेडोरा प्रोजेक्ट आपके लिए पहले से बनाया गया हो।

$ sudo yum install perl-CPAN 

फेडोरा से प्री-बिल्ड उपलब्ध कई सीपीएएन मॉड्यूल उपलब्ध होंगे। आप उन्हें सभी का उपयोग कर देख सकते हैं:

$ yum list available perl-\* 

आप फेडोरा के हाल के संस्करणों के लिए और भी अधिक उपलब्ध पाएंगे।

आप लगभग निश्चित रूप से perl-CPANPLUS इंस्टॉल करके CPANPLUS प्राप्त कर सकते हैं। मुझे संदेह है कि फेडोरा के पुराने संस्करण के लिए cpanminus उपलब्ध है या नहीं।

+0

'yum install perl-CPAN' करने के लिए आपके सुझाव ने मेरे लिए काम किया। धन्यवाद :) – icasimpan

+0

लेकिन कृपया मेरे अन्य सुझावों का भी ध्यान दें। 1/फेडोरा के एक समर्थित संस्करण में अपग्रेड करें। 2/सीपीएएन को प्राथमिकता में CPANPLUS या cpanminus का उपयोग करें। –

+0

मैं CPANPLUS या cpanminus के लिए आपके सुझाव पर ध्यान रखूंगा। मैं पर्ल के लिए काफी नया हूं ताकि मदद मिल सके। समर्थित फेडोरा संस्करण में अपग्रेड करने के आपके सुझाव के अनुसार, मुझे ऐसा करने की स्वतंत्रता नहीं है। हमारी कंपनी में विकास टीम यह निर्धारित करती है कि किस विचलन/संस्करण का उपयोग किया जाए। – icasimpan

0

मुझे एक ही त्रुटि थी, और उसके पास रूट विशेषाधिकार नहीं थे।

  • /usr/bin/cpan
  • /usr/स्थानीय/bin/cpan

जब मैं निर्दिष्ट पूर्व, बातें: समस्या cpan की दो संस्करण स्थापित होने के साथ रखना काम करना शुरू कर दिया।

6

मुझे पर्लब्रू इंस्टॉल करते समय बस एक ही समस्या थी।

कुछ डिबगिंग करने के बाद, मुझे पता चला कि यह त्रुटि तब होती है क्योंकि सीपीएएन तर्क को दर्पण उम्मीदवार नहीं मिला। बेशक, यह संबंधित कार्यों द्वारा लौटाए गए परिणामों की जांच करके सीपीएएन :: मिरर या सीपीएएन :: फर्स्टटाइम में सुधार किया जा सकता है।

चूंकि उनको चेक नहीं किया गया है (और इस प्रकार माना जाता है कि हमेशा कुछ मूल्य लौटाता है) मुझे यह अर्थहीन त्रुटि मिली। लेकिन मुझे कहना होगा कि मैंने यह देखने के लिए आगे की जांच नहीं की कि सभी के बाद कोई मूल्य क्यों नहीं लौटाया जा रहा है।

आप आसानी से चयन द्वारा इस त्रुटि से बच सकते हैं स्वचालित कॉन्फ़िगरेशन के उत्तर के रूप में नहीं। बेशक, आपको कॉन्फ़िगरेशन निर्देशों में से प्रत्येक के लिए जवाब देना होगा।

मुझे perlbrew के माध्यम से perl 5.16.3 स्थापित करते समय यह मिला।

3

यह त्रुटि प्रॉक्सी में उपयोगकर्ता नाम और पासवर्ड फ़ील्ड दर्ज करके हल की जा सकती है जो सीपीएन उपयोग करता है।"नहीं" स्वचालित रूप से तो उठा दबाने रखने के लिए विकल्प 1] पहले

sudo yum install perl-CPAN 
द्वारा cpan स्थापित

2] फिर निम्न आदेश

cpan 

यह मूल बातें स्थापित करने के लिए पूछता है चलाने के लिए, फिर चुनें प्रवेश आप कर रहे हैं जब तक "इंटरनेट से स्वचालित रूप से कनेक्ट" के लिए कहा, दबाएं।

3] फिर आपको दर्पण के विवरण के लिए पूछे जाने वाले सूची से चयन जारी रखने के लिए कहा जाएगा।

4] तब प्रॉक्सी उपयोगकर्ता नाम और पासवर्ड फ़ील्ड सेट

5] स्थापना तो पूरा हो जाएगा और यह cpan> की तरह नीचे

cpan> 

6] प्रॉम्प्ट में प्रवेश

संकेत करने के लिए ले जाएगा
install Bundle::LWP