Не удается найти MIME / Types.pm в @INC ... в /usr/local/share/perl/5.10.1/Dancer/MIME.pm строка 7 - PullRequest
1 голос
/ 10 марта 2011

Я очень новичок в программировании, поэтому я прошу прощения, если я пропустил что-то очевидное.

Я следую указаниям на https://github.com/keeth/Net-OAuth/blob/master/README и получил следующую ошибку:

Can't locate MIME/Types.pm in @INC
(@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10
/usr/local/lib/site_perl .) at /usr/local/share/perl/5.10.1/Dancer/MIME.pm line 7.

Звучит так, будто в модуле perl есть ошибка Dancer/MIME.pm? Если так, я не знаю, как я мог бы отладить это.

Приложение: больше сообщений об ошибках.

$ ./mayor-emanuel.pl Can't locate HTTP/Body.pm in @INC (@INC contains: /etc/perl 
/usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 
/usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at 
/usr/local/share/perl/5.10.1/Dancer/Request.pm line 12. BEGIN failed--compilation aborted at 
/usr/local/share/perl/5.10.1/Dancer/Request.pm line 12. Compilation failed in require at 
/usr/local/share/perl/5.10.1/Dancer/Route.pm line 11. BEGIN failed--compilation aborted at 
/usr/local/share/perl/5.10.1/Dancer/Route.pm line 11. Compilation failed in require at
/usr/local/share/perl/5.10.1/Dancer/Route/Registry.pm line 5. BEGIN failed--compilation 
aborted at /usr/local/share/perl/5.10.1/Dancer/Route/Registry.pm line 5. Compilation failed 
in require at /usr/local/.../Dancer/App.pm line 10. BEGIN failed--compilation aborted at 
/usr/local/share/perl/5.10.1/Dancer/App.pm line 10. Compilation failed in require at 
/usr/local/share/.../Dancer.pm line 13. BEGIN failed--compilation aborted at 
/usr/local/share/perl/5.10.1/Dancer.pm line 13. Compilation failed in require at ./mayor-
emanuel.pl line 5. BEGIN failed--compilation aborted at ./mayor-emanuel.pl line

Кстати, я использую Ubuntu 10.04.

Вопрос: что это значит и что мне с этим делать?

Ответы [ 3 ]

4 голосов
/ 10 марта 2011

Либо модуль MIME :: Types не установлен в вашей системе, либо его нет в вашем пути. Если это первое, то установите его (вы можете сделать это с помощью cpan). Если он присутствует, но не в обычном месте (читай: один из каталогов, перечисленных в ошибке «@INC содержит:»), вы можете добавить этот каталог, добавив

use lib '/path/to/library';

перед оператором use MIME::Types;.

1 голос
/ 13 сентября 2012

Ссылка thegeekStuff прекрасно объясняет процедуры установки модуля Perl.Перейдите по ссылке.

Чтобы установить отдельный модуль perl:

  1. Скачайте модуль perl, вы можете найти его на CPAN.

  2. Извлеките его, а затем make

$ gzip -d XML-Parser-2.36.tar.gz  
$ tar xvf XML-Parser-2.36.tar

сейчас make

$ perl Makefile.PL  
Checking if your kit is complete...  
Looks good  
Writing Makefile for XML::Parser::Expat  
Writing Makefile for XML::Parser  
$ make  
$ make test  
$ make install

Этим способом вы установите один модуль, но если у него есть какой-либо зависимый модуль, вам нужно будет установить его вручную.В качестве альтернативы, лучший способ установки модулей Perl - cpan

Сначала установите cpan один раз

 $ yum install perl-CPAN

и после настройки используйте cpan для установки любого модуля.Он также позаботится об установке всех зависимых модулей.

1 голос
/ 10 марта 2011

Похоже, вам нужно установить модуль MIME :: Types .

...