Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Как устанавливать модули Perl вручную и используя CPAN

Рубрика: Perl
Метки:
Суббота, 6 декабря 2008 г.
Просмотров: 63453
Подписаться на комментарии по RSS

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

Установка Perl модулей с испоьльзованием CPAN намного более лучшее решение, так как все зависимости определятся и установятся автоматически. В это статье я опишу оба метода установки модулей.



Когда какой-либо нужный модуль не установлен, приложение которое его использует будет показывать следующую ошибку. В данном случае отсутствует модуль XML:raspberryarser.

<strong>Can’t locate</strong> XML/parser.pm in @INC (@INC contains:
/usr/lib/perl5/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/5.10.0
/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/site_perl/5.10.0 .)

Установка Perl модулей вручную

Download Perl module

Перейдите на веб-сайт CPAN Search и найдите модуль который вам нужно скачать. В этом пример мы скачаем и установим модуль XML:raspberryarser Perl. Я  скачаю XML-Parser-2.36.tar.gz в /home/download

# cd /home/download
# gzip -d XML-Parser-2.36.tar.gz
# tar xvf XML-Parser-2.36.tar
# cd XML-Parser-2.36

Собираем модуль

# <strong>perl Makefile.PL
</strong>Checking if your kit is complete…
Looks good
Writing Makefile for XML:<img src="/uploads/smiles/raspberry.gif" width="19" height="19" alt="raspberry" style="border:0;" class="smiley">arser::Expat
Writing Makefile for XML:<img src="/uploads/smiles/raspberry.gif" width="19" height="19" alt="raspberry" style="border:0;" class="smiley">arser
# <strong>make</strong>
# <strong>make test</strong>

Устанавливаем модуль

# <strong>make install</strong>

Это простой модуль без зависимостей, поэтому он установился без проблем. Обычно, любой модуль Perl имеет несколько зависимостей. Ставить все модули поочередно описанным выше методом скучнейшая задача. Я рекомендую использовать для установки CPAN метод, описанный ниже. Вручную стоит собирать модули в случае отсутсвия подключения к интернету.

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

Проверяем установлен ли CPAN

Для установки Perl модулей используя CPAN, убедитесь что команда cpan работает. В этом примере, модуль CPAN ещё не установлен.

# <strong>cpan</strong>
-bash: cpan: command not found
# <strong>perl -MCPAN -e shell</strong>
Can’t locate CPAN.pm in @INC (@INC contains:
/usr/lib/perl5/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/5.10.0
/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.10.0
/usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.10.0 .).
BEGIN failed–compilation aborted.

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

# <strong>yum install perl-CPAN</strong>

Результат работы команды:

Loaded plugins: refresh-packagekit
updates-newkey                       | 2.3 kB     00:00
primary.sqlite.bz2                   | 2.4 MB     00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
Transaction Summary
=============================================================================
Install      5 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): perl-ExtUtils-ParseXS-2.18-31.fc9.i386.rpm     |  30 kB     00:00
(2/5): perl-Test-Harness-2.64-31.fc9.i386.rpm         |  70 kB     00:00
(3/5): perl-CPAN-1.9205-31.fc9.i386.rpm               | 217 kB     00:00
(4/5): perl-ExtUtils-MakeMaker-6.36-31.fc9.i386.rpm   | 284 kB     00:00
(5/5): perl-devel-5.10.0-31.fc9.i386.rpm              | 408 kB     00:00
<strong>
Installing     : perl-ExtUtils-ParseXS                             [1/5]
Installing     : perl-devel                                        [2/5]
Installing     : perl-Test-Harness                                 [3/5]
Installing     : perl-ExtUtils-MakeMaker                           [4/5]
Installing     : perl-CPAN                                         [5/5]
</strong>
<strong>Installed: perl-CPAN.i386 0:1.9205-31.fc9
</strong>Dependency Installed:
  perl-ExtUtils-MakeMaker.i386 0:6.36-31.fc9
  perl-ExtUtils-ParseXS.i386 1:2.18-31.fc9
  perl-Test-Harness.i386 0:2.64-31.fc9
  perl-devel.i386 4:5.10.0-31.fc9
<strong>Complete!</strong>

Настраиваем span

При первом вызове cpan вы должны указать некоторые конфигурационные параметры как показано ниже. Я покажу только важные параметры конфигурации. Значения по умолчанию принимаются нажатием клавиши enter.

# <strong>cpan</strong>
Sorry, we have to rerun the configuration dialog for CPAN.pm due
to some missing parameters…
CPAN build and cache directory? <strong>[/root/.cpan]
</strong>Download target directory? [/root/.cpan/sources]
Directory where the build process takes place? [/root/.cpan/build]
Always commit changes to config variables to disk? <strong>[no]</strong>
Cache size for build directory (in MB)? [100]
Let the index expire after how many days? [1]
Perform cache scanning (atstart or never)? <strong>[atstart]</strong>
Cache metadata (yes/no)? [yes]
Policy on building prerequisites (follow, ask or ignore)? [ask]
Parameters for the ‘perl Makefile.PL’ command? <strong>[]</strong>
Parameters for the ‘perl Build.PL’ command? []
Your ftp_proxy? <strong>[]</strong>
Your http_proxy? []
Your no_proxy? []
Is it OK to try to connect to the Internet? [yes]
First, pick a nearby continent and country by typing in the number(s)
(1) Africa
(2) Asia
(3) Central America
(4) Europe
(5) North America
(6) Oceania
(7) South America
<strong>Select your continent</strong> (or several nearby continents) [] 5
(1) Bahamas
(2) Canada
(3) Mexico
(4) United States
<strong>Select your country</strong> (or several nearby countries) [] 4
(2) ftp://carroll.cac.psu.edu/pub/CPAN/
(3) ftp://cpan-du.viaverio.com/pub/CPAN/
(4) ftp://cpan-sj.viaverio.com/pub/CPAN/
(5) ftp://cpan.calvin.edu/pub/CPAN
(6) ftp://cpan.cs.utah.edu/pub/CPAN/
e.g. ‘1 4 5′ or ‘7 1-4 8′ <strong>[] 2-16</strong>
cpan[1]> <strong>o conf commit</strong>
commit: wrote ‘/usr/lib/perl5/5.10.0/CPAN/Config.pm’
cpan[2]> <strong>quit</strong>
No history written (no histfile specified).
Lockfile removed.

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

Вы можете использовать один из указанных тут методов для установки новых модулей:

# <strong>/usr/bin/perl -MCPAN -e ‘install Email::Reply’
</strong>(или)
# <strong>cpan</strong>
cpan shell — CPAN exploration and modules installation (v1.9205)
ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?)
cpan[1]> <strong>install “Email::Reply”;</strong>

В результате выполнения команды вы увидите

CPAN: Storable loaded ok (v2.18)
Going to read /root/.cpan/Metadata
Database was generated on Mon, 15 Sep 2008 11:02:52 GMT
Running install for module 'Email::Reply'
Running make for R/RJ/RJBS/Email-Reply-1.202.tar.gz
CPAN: LWP::UserAgent loaded ok (v2.036)
CPAN: Time::HiRes loaded ok (v1.9711)
Fetching with LWP:
ftp://carroll.cac.psu.edu/pub/CPAN/authors/id/R/RJ/RJBS/Email-Reply-1.202.tar.gz
CPAN: checksum security checks disabled because Digest::SHA not installed.
Please consider installing the Digest::SHA module.
CPAN: Compress::Zlib loaded ok (v2.008)
Email-Reply-1.202/
Email-Reply-1.202/Changes
CPAN: File::Temp loaded ok (v0.18)
Warning: prerequisite Email::Abstract 2.01 not found.
Warning: prerequisite Email::MIME::Creator 1.41 not found.
Writing Makefile for Email::Reply
---- Unsatisfied dependencies detected during ----
----       RJBS/Email-Reply-1.202.tar.gz      ----
<strong>Email::Abstract [requires]
Email::MIME::Creator [requires]
</strong>Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
<span style="color: red;">[Note: CPAN automatically detects that Email::Abstract
       and Email::MIME::Creator is required]</span>
Fetching with LWP:
ftp://server/pub/CPAN/authors/id/R/RJ/RJBS/Email-Abstract-2.134.tar.gz
make — OK
make install  — OK
Fetching with LWP:
ftp://server/pub/CPAN/authors/id/R/RJ/RJBS/Email-MIME-Creator-1.454.tar.gz
make — OK
make install  — OK
Warning: prerequisite Email::Simple::Creator 1.4 not found.
Writing Makefile for Email::MIME::Creator
<strong>Email::Simple::Creator [requires]
</strong>Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
<span style="color: red;">[Note: CPAN automatically detects that Simple::Creator is required]</span>
Fetching with LWP:
ftp://carroll.cac.psu.edu/pub/CPAN/authors/id/R/RJ/RJBS/Simple-Creator.tar.gz
make — OK
make install  — OK
Fetching with LWP:
CPAN.pm: Going to build R/RJ/RJBS/Email-Reply-1.202.tar.gz
make — OK
make install  — OK

В примере выше Email::Reply зависит от нескольких других модулей. CPAN автоматически определил зависимости и установил Email::Reply и все другие необходимые модули.

Постовой

На сайте garantia-stroy.ru предлагаются к продаже квартиры от застройщика по всему Подмосковью.

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 4

  1. Большое человеческое спасибо за статью.

    Полдня мучался с автоматической установко, но видно, что-то сломалось на сайте CPAN, а вот руками прошло на ура.

    Еще раз, спасибо!

  2. cпасибо! использовал автоматический метод, все гудт!

  3. в коде - это пять.

  4. strong в коде*

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)