Подтвердить что ты не робот

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

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

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

#!/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.) в строке. /scmxml 2dot.pl 14. < ш > BEGIN failed - компиляция отменена на. /scmxml 2dot.pl строке 14.

Строка 14 файла use LWP::Simple;

Как я:

  • Узнайте, установлена ​​ли эта вещь (модуль?) и/или
  • Получить LWP:: Simple и сделать его доступным для script?

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

    perl -MLWP::Simple -e 1
    

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

  • установить

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

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

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

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

Ответ 3

Посмотрите на веб-страницу 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