Не удается найти LWP/Simple.pm в @INC

Возможный дубликат:
Какой самый простой способ установить отсутствующий модуль Perl?

Я пытаюсь запустить скрипт Perl для преобразования SCXML в Graphviz DOT. Я изменил первую строку скрипта так:

#!/usr/bin/env perl

а также chmod +x файл. Когда я запускаю его через ./scmxl2dot.pl Я вижу следующую ошибку:

Не удается найти LWP/Simple.pm в @INC (@INC содержит: /opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-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::Simple и сделать его доступным для скрипта?

Это работает под OS X 10.7.3 и Perl 5.12.3 (как видно из ошибки).

3 ответа

Решение
  1. Вы уже решили, что у вас его нет (где-то его можно найти).

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

  1. Выполните следующее из командной строки:

    perl -MLWP::Simple -e 1
    

    Если вы не получили никакого вывода из вышеупомянутой команды, то модуль установлен; если вы получили ошибку, она не установлена

  2. установить использование

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

Когда Perl встречает использование My::Module, он перебирает элементы встроенного модуля @INC, который содержит имена каталогов. В каждом каталоге он проверяет, есть ли подкаталог с именем "My" и есть ли в этом подкаталоге файл с именем "Module.pm".

проверьте, где установлен модуль LWP::Simple в вашей системе, и введите строку ниже чуть выше использования LWP::Simple вашего кода.

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

Взгляните на веб-страницу Perldoc. Это скажет вам, какие модули являются стандартными модулями Perl, а какие нет.

Вы также можете использовать команду perldoc, чтобы узнать, установлен ли модуль Perl, и, если это так, его документация.

$ perldoc LWP::Simple

(Если Perldoc не выполняется как команда, выполните ls -l /usr/bin/perl*, На Mac некоторые команды Perl не имеют включенного бита выполнения. Чтобы включить его, сделайте sudo chmod a+x /usr/bin/perl).

Просто так случается LWP::Simple не является стандартным модулем Perl, и если у вас его нет, вам придется его установить. Большинство людей уже рассказали вам о cpan, К сожалению, по умолчанию на Mac не установлены необходимые инструменты разработки командной строки. Вы должны будете установить их.

После того, как они установлены, вы можете использовать cpan Команда для установки LWP::Simple:

$ sudo cpan   #Run cpan and configure it. It takes about 3 minutes
cpan> install LWP::Simple
cpan> exit
Другие вопросы по тегам