Страница 2 из 16 1.4 Я скачал модуль Lib::Module. Как его установить? Обычно модуль приходит в формате tar+gzip, типа module-0.01.tar.gz. Вам необходимо его развернуть: tar zxf module-0.01.tar.gz и перейти в образовавшуюся директорию, например module-0.01: cd module-0.01 Обычно там находятся несколько файлов. Для вас будут важными следующие: - README
что это за модуль - INSTALL
как его поставить - Makefile.PL
перловый скрипт для генерации Makefile Обычно инсталляция происходит следующим образом: - perl Makefile.PL
генерация Makefile - make all
сборка модуля - make test
тестирование модуля - make install
инсталляция модуля Необходимо внимательно смотреть, не возникли ли какие ошибки во время первых трех команд. Внимание: вы должны иметь административные привилегии для инсталлирование модуля в системе (обычно как root). Но, если вы их не имеете, то можете инсталлировать модуль у себя. Для этого вам необходимо выбрать, где это будет делаться. Для примера, в $HOME/lib/perl5. Необходимо создать эти директории, если их нет: mkdir ~/lib mkdir ~/lib/perl5
Затем, при генерации Makefile для модуля, вы должны указать, где вы хотите инсталлировать модуль:perl Makefile prefix=$HOME Все остальные шаги без изменений. В результате вы получите альтернативное место, где у вас будут находиться модули. Например, у меня это выглядит так: artur@disco:~ (681) ls -alFg ~/lib/perl5/ total 704 drwxr-sr-x 8 artur staff 512 Oct 06 15:53 ./ drwxr-sr-x 9 artur staff 1024 Oct 08 10:50 ../ drwxr-sr-x 4 artur staff 512 Mar 31 1998 aix/ drwxr-sr-x 2 artur staff 512 Aug 06 13:40 CPAN/ -r--r--r-- 1 artur staff 126951 Jul 24 19:37 CPAN.pm drwxr-sr-x 3 artur staff 512 Mar 31 1998 man/ drwxr-sr-x 31 artur staff 1024 Sep 09 15:41 site_perl/
Для того, чтобы их использовать, есть несколько путей: - указывать при запуске perl в командной строке:
perl -I$HOME/lib/perl5 -I$HOME/lib/perl5/site_perl script.pl
- завести переменную шелла PERL5LIB: для sh (bash,zsh,ksh)
PERL5LIB=$HOME/lib/perl5:$HOME/lib/perl5/site_perl
export PERL5LIB для csh (tcsh) setenv PERL5LIB $HOME/lib/perl5:$HOME/lib/perl5/site_perl
- указывать в начале скриптов дополнительные библиотеки:
use lib "/home/you/lib/perl5"; use lib "/home/you/lib/perl5/site_perl";
Данный случай подходит к CGI-скриптам, которые не наследуют ваших переменных окружения. 1.5 Как автоматизировать процесс установки библиотек и модулей? Скачивание и установка вручную -- достаточно сложное занятие, требующее постоянного вмешательства с вашей стороны. Можно простым способом: сделать su (желательно), запустить perl -MCPAN -e shell. Если это первый запуск модуля CPAN, вам зададут серию вопросов на тему URL вашего любимого зеркала CPAN. После этого все просто: если вы знаете название модуля или библиотеки, то набираете, скажем, install Net::NNTP. Тогда этот модуль (для работы с NNTP) сам ищется на CPAN, сам скачивается, компилируется, устанавливается. Все, поставили, можно выходить и использовать вновь установленный модуль. Если название точно не известно, то набираем там же help и используем различные команды поиска типа i NNTP. 1.6 У меня нет root-привилегий. Можно ли использовать модуль CPAN для установки модулей в этом случае? При использовании CPAN-модуля вам необходимо сконфигурировать его таким образом, чтобы он сам инсталлировал модули туда, куда вы укажете. Для этого вам необходимо подредактировать файл ~/.cpan/CPAN/MyConfig.pm: указать в строке &makepl_arg& =& q[prefix=/home/you], и теперь всегда при автоматической инсталляции модули будут ставится к вам в $HOME/lib/perl5 Более подробно обо всем этом можно прочитать в документации к ExtUtils::MakeMaker. NB: Современный Модуль СPAN все сам спросит и сделает. |