Какой самый простой способ установить отсутствующий модуль Perl? - PullRequest
164 голосов
/ 15 сентября 2008

Я получаю эту ошибку:

Can't locate Foo.pm in @INC

Есть ли более простой способ установить его, чем загрузка, распаковка, создание и т. Д.?

Ответы [ 23 ]

5 голосов
/ 10 ноября 2012

Во многих случаях происходит сбой команды cpan install с сообщением типа "make test вернул плохое состояние, без принудительной установки"

В этом случае следующий способ установки модуля:

perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
4 голосов
/ 22 мая 2011

Даже должно работать:

cpan -i module_name
4 голосов
/ 14 мая 2014

Используйте команду cpan как cpan Modulename

$ cpan HTML::Parser

Для автоматической установки зависимостей следуйте приведенным ниже инструкциям

$ perl -MCPAN -e shell
cpan[1]>  o conf prerequisites_policy follow
cpan[2]>  o conf commit
exit

Я предпочитаю App :: cpanminus , он устанавливает зависимости автоматически. Просто сделай

$ cpanm HTML::Parser
4 голосов
/ 22 февраля 2013

В Ubuntu большинство модулей Perl уже упакованы, поэтому установка происходит намного быстрее, чем в большинстве других систем, которые приходится компилировать.

Чтобы установить Foo::Bar в командной строке, например, обычно просто:

sudo apt-get install libfoo-bar-perl

К сожалению, не все модули следуют этому соглашению об именах.

3 голосов
/ 21 ноября 2008

В Fedora вы можете использовать

# yum install foo

, пока в Fedora есть существующий пакет для модуля.

3 голосов
/ 28 декабря 2016

Самый простой способ для меня это:

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'

a) автоматическое рекурсивное обнаружение / разрешение / установка зависимостей

б) это оболочка, хорошая для сценариев установки

3 голосов
/ 30 октября 2014

На Fedora Linux или Enterprise Linux, yum также отслеживает зависимости библиотеки perl. Таким образом, если модуль perl доступен и какой-либо пакет rpm экспортирует эту зависимость, он установит нужный вам пакет.

yum install 'perl(Chocolate::Belgian)'

(скорее всего, пакет perl-Chocolate-Belgian или даже пакет ChocolateFactory)

3 голосов
/ 15 сентября 2008

2 известных мне пути:

ИСПОЛЬЗОВАНИЕ PPM:

С Windows (ActivePerl) Я использовал ppm

из командной строки введите ppm. По приглашению ppm ...

ppm> install foo

или

ppm> search foo

чтобы получить список доступных модулей foo. Введите help для всех команд

ИСПОЛЬЗОВАНИЕ CPAN:

вы также можете использовать CPAN следующим образом (* nix систем ):

perl -MCPAN -e 'shell'

получает подсказку

cpan>

по приглашению ...

cpan> install foo  (again to install the foo module)

введите h, чтобы получить список команд для cpan

2 голосов
/ 20 мая 2014

Иногда вы можете использовать yum search foo для поиска соответствующего модуля perl, а затем yum install xxx для установки.

2 голосов
/ 11 сентября 2013

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

 #wget <URL to the module.tgz>
 ##unpack
 perl Build.PL
./Build destdir=$HOME install_base=$HOME
./Build destdir=$HOME install_base=$HOME install
...