Die Installation von Perl-Modulen, die von verschiedener Open-Source-Software benötigt werden, ist eine Routineaufgabe für Systemadministratoren. Perl-Module manuell installieren Das Auflösen aller Abhängigkeiten ist ein mühsamer und lästiger Prozess.
Installieren von Perl-Modulen mit CPAN ist eine bessere Lösung, da es alle Abhängigkeiten automatisch auflöst. Lassen Sie uns in diesem Artikel überprüfen, wie Sie Perl-Module unter Linux sowohl mit der manuellen als auch mit der CPAN-Methode installieren.
Wenn kein Perl-Modul installiert ist, zeigt die Anwendung die folgende Fehlermeldung an. In diesem Beispiel fehlt das Perl-Modul XML::Parser.
Can't locate 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-Module manuell installieren
Perl-Modul herunterladen
Gehen Sie zur CPAN Search-Website und suchen Sie nach dem Modul, das Sie herunterladen möchten. Lassen Sie uns in diesem Beispiel das Perl-Modul XML::Parser suchen, herunterladen und installieren. Ich habe den XML-Parser-2.36.tar.gz nach /home/download
heruntergeladen# cd /home/download # gzip -d XML-Parser-2.36.tar.gz # tar xvf XML-Parser-2.36.tar # cd XML-Parser-2.36
Erstellen Sie das Perl-Modul
# perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for XML::Parser::Expat Writing Makefile for XML::Parser # make # make test
Installieren Sie das Perl-Modul
# make install
Dies ist sehr einfach für ein Modul ohne Abhängigkeiten. Typischerweise sind Perl-Module von mehreren anderen Modulen abhängig. All diese Abhängigkeiten einzeln zu verfolgen, kann eine sehr schmerzhafte und lästige Aufgabe sein. Ich empfehle die CPAN-Installationsmethode wie unten gezeigt. Verwenden Sie die manuelle Methode nur, wenn der Server nicht mit dem Internet verbunden ist.
Perl-Module mit CPAN automatisch installieren
Überprüfen Sie, ob CPAN bereits installiert ist
Um Perl-Module mit CPAN zu installieren, stellen Sie sicher, dass der cpan-Befehl funktioniert. Sie sollten das CPAN-Perl-Modul installiert haben, bevor Sie andere Perl-Module mit CPAN installieren können. In diesem Beispiel ist das CPAN-Modul nicht installiert.
# cpan -bash: cpan: command not found # perl -MCPAN -e shell 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.
Installieren Sie das CPAN-Modul mit yum
# yum install perl-CPAN
Ausgabe des Befehls yum install perl-CPAN:
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 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] Installed: perl-CPAN.i386 0:1.9205-31.fc9 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 Complete!
cpan beim ersten Mal konfigurieren
Wenn Sie cpan zum ersten Mal ausführen, sollten Sie einige Konfigurationsparameter wie unten gezeigt einstellen. Ich habe unten nur die wichtigen Konfigurationsparameter gezeigt. Akzeptieren Sie alle Standardwerte, indem Sie die Eingabetaste drücken.
Hinweis: Stellen Sie sicher, dass Sie „o conf commit“ ausführen ” in der cpan-Eingabeaufforderung nach der Konfiguration, um die Einstellungen zu speichern.
# cpan Sorry, we have to rerun the configuration dialog for CPAN.pm due to some missing parameters... CPAN build and cache directory? [/root/.cpan] Download target directory? [/root/.cpan/sources] Directory where the build process takes place? [/root/.cpan/build] Always commit changes to config variables to disk? [no] Cache size for build directory (in MB)? [100] Let the index expire after how many days? [1] Perform cache scanning (atstart or never)? [atstart] Cache metadata (yes/no)? [yes] Policy on building prerequisites (follow, ask or ignore)? [ask] Parameters for the 'perl Makefile.PL' command? [] Parameters for the 'perl Build.PL' command? [] Your ftp_proxy? [] 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 Select your continent (or several nearby continents) [] 5 (1) Bahamas (2) Canada (3) Mexico (4) United States Select your country (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' [] 2-16 cpan[1]> o conf commit commit: wrote '/usr/lib/perl5/5.10.0/CPAN/Config.pm' cpan[2]> quit No history written (no histfile specified). Lockfile removed.
Perl-Module mit CPAN installieren
Sie können eine der folgenden Methoden verwenden, um ein Perl-Modul mit cpan.
zu installieren# /usr/bin/perl -MCPAN -e 'install Email::Reply' (or) # cpan cpan shell -- CPAN exploration and modules installation (v1.9205) ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?) cpan[1]> install "Email::Reply";
Ausgabe des obigen Perl-Installationsbefehls:
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 ---- Email::Abstract [requires] Email::MIME::Creator [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] [Note: CPAN automatically detects that Email::Abstract and Email::MIME::Creator is required] 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 Email::Simple::Creator [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] [Note: CPAN automatically detects that Simple::Creator is required] 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
Im obigen Beispiel ist Email::Reply von mehreren anderen Modulen abhängig. CPAN löst die Abhängigkeiten automatisch auf und installiert Email::Reply und alle abhängigen Perl-Module.
Wenn Ihnen dieser Artikel gefallen hat, speichern Sie ihn bitte auf del.icio.us und stolpern .