Не удается найти 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;
Как я:
- Узнайте, установлена ли у меня эта вещь (модуль?), И / или
- Получить LWP::Simple и сделать его доступным для скрипта?
Это работает под OS X 10.7.3 и Perl 5.12.3 (как видно из ошибки).
3 ответа
Вы уже решили, что у вас его нет (где-то его можно найти).
perl -MCPAN -e'install "LWP::Simple"'
Выполните следующее из командной строки:
perl -MLWP::Simple -e 1
Если вы не получили никакого вывода из вышеупомянутой команды, то модуль установлен; если вы получили ошибку, она не установлена
установить использование
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