2012-05-09 7 views
18

संभव डुप्लिकेट LWP/Simple.pm पता नहीं लगा सकता:
What's the easiest way to install a missing Perl module?@INC में

मैं Graphviz डॉट को SCXML कन्वर्ट करने के लिए a Perl script चलाने का प्रयास कर रहा हूँ।

#!/usr/bin/env perl 

और chmod +x फ़ाइल: मैं करने के लिए स्क्रिप्ट की पहली पंक्ति को संशोधित किया।

@INC में LWP/Simple.pm पता नहीं लगा सकता (@INC शामिल हैं:: जब मैं यह ./scmxl2dot.pl के माध्यम से चलाने के मैं निम्नलिखित त्रुटि उत्पादन को देखने के /opt/local/lib/perl5/site_perl/5.12.3/डार्विन-मल्टी-2level /opt/local/lib/perl5/site_perl/5.12.3 /opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level/opt/local/lib/perl5/vendor_perl /5.12.3 /opt/local/lib/perl5/5.12.3/darwin-multi-2level /opt/local/lib/perl5/5.12.3/opt/local/lib/perl5/site_perl/opt/local/lib/perl5/vendor_perl) ./scmxml2dot.pl लाइन पर 14
विफल रही शुरू -। संकलन ./scmxml2dot.pl लाइन 14.

लाइन 14 फ़ाइल के कम से निरस्त किया गया use LWP::Simple;

है मैं कैसे करूँ:

  1. पता करें कि क्या मैं इस बात (मॉड्यूल?) स्थापित किया है, और/या
  2. LWP :: सरल हो जाओ और यह स्क्रिप्ट के लिए उपलब्ध बनाने?

यह ओएस एक्स 10.7.3 और पर्ल 5.12.3 (जैसा कि त्रुटि में देखा गया है) के तहत चल रहा है।

+2

[स्टैक ओवरफ़्लो पर्ल पूछे जाने वाले प्रश्न] से (http://stackoverflow.com/questions/tagged/:

एक बार इंस्टॉल कर रहे हैं, तो आप LWP :: सरल स्थापित करने के लिए cpan आदेश का उपयोग कर सकते हैं perl? sort = faq): [लापता पर्ल मॉड्यूल स्थापित करने का सबसे आसान तरीका क्या है?] (http://stackoverflow.com/questions/65865/whats-the-easiest-way-to-install-a-missing-perl -मॉड्यूल) – daxim

उत्तर

30
  1. आप पहले से ही निर्धारित कर रहे हैं आप इसे की जरूरत नहीं है कि (कहीं यह पाया जा सकता है)।

  2. perl -MCPAN -e'install "LWP::Simple"'

+0

धन्यवाद; मुझे नहीं पता था कि शायद कुछ विन्यास एनवी चर या इस तरह से एक रास्ता गायब था। – Phrogz

+0

इसे सूडो से चलाने का प्रयास करें – Vincent

6
  1. कमांड लाइन से निम्नलिखित निष्पादित करें:

    perl -MLWP::Simple -e 1 
    

    आप उपरोक्त आदेश तो मॉड्यूल स्थापित किया गया है से किसी भी उत्पादन नहीं मिलता है; यदि आप कोई त्रुटि मिलती है, यह इंस्टॉल नहीं है

  2. उपयोग स्थापित करने के लिए

    perl -MCPAN -e'install "LWP::Simple"' 
    

पर्ल मुठभेड़ों का उपयोग करते हैं मेरे :: मॉड्यूल यह निर्मित @INC मॉड्यूल शामिल हैं के तत्वों के ऊपर जाता है निर्देशिका नाम प्रत्येक निर्देशिका में यह जांचता है कि "माई" नामक एक उपनिर्देशिका है और यदि उस उपनिर्देशिका में "Module.pm" नामक एक फ़ाइल है।

जांचें कि आपके सिस्टम पर एलडब्लूपी :: सरल मॉड्यूल स्थापित है और एलडब्ल्यूपी :: आपके कोड के सरल कथन के ऊपर बस नीचे पंक्ति टाइप करें।

use lib '/usr/local/module'; 
    use LWP::Simple; 
2

Perldoc वेबपेज पर एक नजर डालें। यह आपको बताएगा कि कौन से मॉड्यूल मानक पर्ल मॉड्यूल हैं और कौन से नहीं हैं।

आप यह जानने के लिए perldoc कमांड का भी उपयोग कर सकते हैं कि एक पर्ल मॉड्यूल स्थापित है या नहीं, और यदि यह है, तो इसका दस्तावेज।

$ perldoc LWP::Simple 

(perldoc एक कमांड के रूप में अमल नहीं करता है ls -l /usr/bin/perl* है। Macs पर, पर्ल आदेशों में से कुछ पर अमल सा चालू नहीं है।, उसे चालू करने के sudo chmod a+x /usr/bin/perl करते हैं)।

यह होता है कि LWP::Simple मानक पर्ल मॉड्यूल नहीं है, और यदि आपके पास यह नहीं है, तो आपको इसे इंस्टॉल करना होगा। अधिकांश लोगों ने आपको पहले से ही cpan बताया है। दुर्भाग्यवश, डिफ़ॉल्ट रूप से, मैक में आवश्यक कमांड लाइन विकास उपकरण स्थापित नहीं होते हैं। You'll have to install them

$ sudo cpan #Run cpan and configure it. It takes about 3 minutes 
cpan> install LWP::Simple 
cpan> exit 
संबंधित मुद्दे