Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Использование CPAN для установки Perl модулей

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пт Окт 05, 2007 3:59 am    Заголовок сообщения: Использование CPAN для установки Perl модулей
Ответить с цитатой

Оригинал: http://providerz.ru/articles/perl/cpan-modules-install.html

Программирование на PERL. Второй выпуск. Использование CPAN для интерактивной и автоматической инсталляции модулей. Alex Ott.

Для многих программистов одним из достоинств Perl является наличие большого числа готовых модулей, которые позволяют использовать Perl практически в любой области. Множество модулей включено в базовую поставку, но еще большее количество вы можете найти воспользовавшись Comprehensive Perl Archive Network (Всеобъемлющую Сеть Архивов Perl), называемую также CPAN, который распологается по адресу http://www.perl.com/CPAN/CPAN.html.

Модули находящиеся на CPAN можно скачивать и компилировать вручную (как правило последовательность команд компиляции и требуемые модули, перечислены в файле README, обычно входящем в состав дистрибутива модуля). Но в состав дистрибутива Perl входит полезный модуль под названием CPAN. Он позволяет автоматизировать операции установки необходимых программисту модулей, включая установку модулей, от которых зависит устанавливаемый модуль.

Модуль позволяет работать в интерактивном и пакетном режимах, что позволяет использовать его всем пользователям. Настройки, которые влияют на то, откуда и как скачиваются модули, как правило задаются при первом запуске данного модуля, и хранятся в файле $PERLLIB_PREFIX/$PERL_VERSION/CPAN/Config.pm (например, /usr/lib/perl5/5.6.1/CPAN/Config.pm). Также в этом файле задаются дополнительные флаги для Makefile и прочая информация.

Интерактивный режим работы

Вход в интерактивный режим производится запуском Perl следующей командной строкой perl -MCPAN -e shell. При самом первом запуске данного модуля вам придется ответить на несколько вопросов относительно параметров системы и расположении сервера CPAN, с которого будет производиться загрузка модулей. Затем вы получите командную строку, в которой и сможете выполнять разные команды.

Для установки модуля, имя которого вы знаете точно, используется команда install ModuleName. При этом выполнится последовательность команд make, make test и make install. Если устанавливаемому модулю для работы требуется модуль, который отсутствует в системе, то у пользователя запросят подтверждение на установку необходимого модуля. При запуске команды install выполняется проверка того, нуждается ли модуль в обновлении.

Установка файлов в систему, производится только в том случае, если выполнение make test прошло без ошибок. Для принудительной установки модуля используется команда force install ModuleName.

Для поиска модуля используется команда i /text/, при этом будут найдены все модули в названии которых входит слово text. Затем полученные имена модулей можно использовать для установки. Команда i, является наиболее общим случаем поиска. Для поиска по именам пакетов, авторов, модулей и файлов дистрибутивов используются команды b, a, m и d соответственно.

Существуют также дополнительные команды, которые используются только для извлечения дистрибутивов модулей или относящихся к ним файлов описаний. Команда get только скачивает указанный ей пакет, и н выполняет больше никаких действий. Команда readme отображает файл README для указанного дистрибутива.

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

Пакетный режим работы

В пакетном режиме для программиста доступны все эти же команды, только они выполняются без запроса пользователя. Например, можно заставить Perl выполнять автоматическое обновление модулей, установленных в системе. Это выполняется с помощью команды:


perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

Каждая из доступных команд, возвращающих списки модулей, также может возвращать списки идентификаторов модулей. Затем данные идентификаторы могут быть преобразованы в соответствующие реальные объекты с помощью метода CPAN::Shell->expand("Module",@things). Затем с помощью полученного объекта может быть произведена установка модуля. Например, вот как будет выглядеть установка модулей Net::FTP, MD5 и Data::Dumper:


for $mod (qw(Net::FTP MD5 Data::Dumper)){
my $obj = CPAN::Shell->expand('Module',$mod);
$obj->install;
}

Полезные советы

Модуль CPAN поддерживает концепцию пакетов (bundles). Эта концепция упрощают работу с группами модулей, связанных общими свойствами. Пакеты являются обычными модулями в пространстве имен Bundle::. Они не определяют никаких функций или методов, и как правило содержат только документацию. Когда пользователь устанавливает такой модуль, то происходит установка всех модулей, которые перечислены в тексте заданного для установки модуля.

Для удобной работы с модулем CPAN лучше установить дополнительные модули (например, Term::ReadKey и Term::ReadLine::GNU) , которые обеспечивают дополнение в командной строке по клавише табуляции и другие удобные возможности. Установка всех модулей производится командой install Bundle::CPAN.

Если вы не являетесь системным администратором, то для для установки двоичных файлов, модулей и документации для себя, вам необходимо добавить строку PREFIX=/путь/куда/вы/имеете/право/записи к параметру настройки makepl_arg. Все файлы будут установлены в каталоги, расположенные ниже каталога PREFIX, в не в системные каталоги. Для использования установленных таким образом модулей, вам необходимо будет добавить PREFIX в пути поиска файлов Perl.

Для получения дополнительной информации о модуле CPAN, его командах и параметрах настройки, смотрите perldoc CPAN.

Alex Ott <ottalex@narod.ru>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис