Как устанавливать модули Perl вручную и используя CPAN
Метки: Perl
Суббота, 6 декабря 2008 г.
Просмотров: 63453
Подписаться на комментарии по RSS
Установка модулей для Perl требуется для работы различных утилит, применяемх в повседневной рутине администрирования. Установка Perl модулей вручную с удоволетворением всех зависимостей это довольно скучный и нудный процесс.
Установка Perl модулей с испоьльзованием CPAN намного более лучшее решение, так как все зависимости определятся и установятся автоматически. В это статье я опишу оба метода установки модулей.
Когда какой-либо нужный модуль не установлен, приложение которое его использует будет показывать следующую ошибку. В данном случае отсутствует модуль XML:arser.
<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:arser 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 предлагаются к продаже квартиры от застройщика по всему Подмосковью.При работе с компанией ООО "Город" вывоз мусора перестанет быть для вас головной болью.
Комментариев: 4
Большое человеческое спасибо за статью.
Полдня мучался с автоматической установко, но видно, что-то сломалось на сайте CPAN, а вот руками прошло на ура.
Еще раз, спасибо!
cпасибо! использовал автоматический метод, все гудт!
в коде - это пять.
strong в коде*