Установка модулей CPAN в домашний каталог (Perl)

Материал из DiPHOST.Ru wiki system

Перейти к: навигация, поиск

CPAN (Comprehensive Perl Archive Network - архив Perl) - является центральным хранилищем всего, что касается Perl. В нём содержится полный дистрибутив Perl, документация и огромная коллекция библиотек (модулей). Если что-то написано на Perl, приносит пользу и бесплатно, то, вероятно, оно имеется в CPAN.

Один из способов посмотреть модули CPAN - посетить сайт http://search.cpan.org.

Содержание

Настройка консоли для работы с локальными модулями

Для того, чтобы интерпретатор Perl, вызванный из консоли, "видел" установленные локально библиотеки, добавьте в файл .profile следующие строки:

PERL5LIB=$HOME:$HOME/lib:$HOME/lib/perl5
export PERL5LIB

MANPATH=$HOME/share/man
export MANPATH

Это следует сделать ДО установки модулей, во избежании накладок при установке. Не забудьте "перелогиниться" после добавления, чтобы настройки применились.

Ручная установка

Модули находящиеся на CPAN можно скачивать и компилировать вручную. Как правило последовательность команд компиляции и требуемые модули, перечислены в файле README, обычно входящем в состав дистрибутива модуля. Все модули CPAN могут устанавливаться одним из способов: ExtUtils::MakeMaker и/или Module::Build. ExtUtils::MakeMaker использует файл Makefile.PL. Для установки в домашний каталог требуется указать переменную окружения INSTALL_BASE:

perl Makefile.PL INSTALL_BASE=~

Module::Build использует файл Build.PL. Для установки в домашний каталог требуется указать ключ --install_base:

perl Build.PL --install_base ~

Остальные ключи и предпочтительный способ установки обычно описаны в файлах README и INSTALL внутри дистрибутива модуля.

Установка с помощью модуля CPAN

Также в состав дистрибутива Perl входит модуль под названием CPAN. Он позволяет автоматизировать операции установки необходимых модулей, включая установку зависимостей. Модуль может работать в ручном и пакетном режиме. Рассмотрим для простоты ручной режим работы. Для интерактивной работы с модулем следует набрать команду:

perl -MCPAN -e shell

При первом запуске программа попытается создать конфигурационный файл и будет задавать вопросы. Проблема в том, что при любых ответах итоговый конфигурационный файл, создаваемый обычно в директории .cpan/CPAN/MyConfig.pm в домашнем каталоге, не готов к использованию для установки модулей локально. В нём нас интересуют нижеследующие строки, которые должны быть заполнены подобным образом:

'build_dir' => qq[$ENV{'HOME'}/.cpan/build],
'cpan_home' => qq[$ENV{'HOME'}/.cpan],
'histfile' => qq[$ENV{'HOME'}/.cpan/histfile],
'keep_source_where' => qq[$ENV{'HOME'}/.cpan/sources],
'makepl_arg' => qq[INSTALL_BASE=$ENV{'HOME'}],
'mbuildpl_arg' => qq[--install_base $ENV{'HOME'}],
'prefs_dir' => qq[$ENV{'HOME'}/.cpan/prefs],

Вместо $ENV{'HOME'} может стоят полный путь до домашнего каталога пользователя, например: /home/ваш_логин

Убедившись в правильности конфигурации, можно устанавливать модули. Команда

perl -MCPAN -e shell

запускает специальную интерактивную оболочку. Установка модулей в ней производится например такой командой:

force install ИМЯ_МОДУЛЯ

Ключевое слово force позволит избежать отказа от установки в случае отрицательных результатов тестов, которые по разным причинам действительно могут быть отрицательными.

Настройка веб-сервера apache для работы с локальными модулями

В файл .htaccess в корневом каталоге сайта или в том каталоге, где будут cgi-скрипты, добавить строку:

SetEnv PERL5LIB /home/ваш_логин:/home/ваш_логин/lib:/home/ваш_логин/lib/perl5

Использование в cron

Для того, чтобы скрипты, запускающиеся по cron могли иметь доступ к локально установленным библиотекам, в начале crontab-файла следует прописать нужные строки:

PERL5LIB=/home/ваш_логин:/home/ваш_логин/lib:/home/ваш_логин/lib/perl5

Обращаем внимание, что переменные типа $PATH не разбираются в crontab и требуется полностью прописывать все пути.

Дополнительная информация

Модуль CPAN также предоставляет возможность и пакетной работы по управлению модулями CPAN. Стоит для более тонких настроек модуля или для программирования пакетной работы ознакомиться с документаций CPAN.pm

Источник — «https://wiki.diphost.ru/LocalCPAN»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru