Perl-Module installieren
- Aktualisiert: Freitag, 25. März 2022 10:08
- Geschrieben von Mazin Shanyoor
Bei dem CPAN handelt es sich um ein weltweites Netzwerk, das sämtliche "offizielle" Module, Programme, Tools, Dokumentationen sowie den Perl-Interpreter kostenlos zum Download anbietet.
Direkter Download aus dem CPAN und automatische Installation
Das Modul CPAN.pm von Andrea König ist inzwischen seit Jahren ein Standardbestandteil jeder Perl-Distribution unter Linux / Unix. Es stellt eine interaktive Shell auf der Kommandozeile zur Verfügung, um Perl-Module aus dem CPAN-Netzwerk herunterzuladen, zu installieren sowie einen Testprotokoll zu unterziehen. Da aus der interaktiven cpan-Shell die heruntergeladenen Module auch automatisch installiert werden, muss die Shell unter root-Rechten ausgeführt werden.
root@server:~# perl -MCPAN -e shell
CPAN: File::HomeDir loaded ok (v0.82)
cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support enabled
cpan[1]>
Um ein Modul jetzt aus dem CPAN zu installieren, gibt man folgende "install"-Befehl in die cpan-Shell ein: install Mein_CPAN_Modul
Beispiel: installation und Testing des Perl-Moduls MP3::Info aus der cpan-Shell heraus
cpan[1]> install MP3::Info
Running install for module 'MP3::Info'
Running make for D/DA/DANIEL/MP3-Info-1.24.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/D/DA/DANIEL/MP3-Info-1.24.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/D/DA/DANIEL/CHECKSUMS
Checksum for /home/mash/.cpan/sources/authors/id/D/DA/DANIEL/MP3-Info-1.24.tar.gz ok
MP3-Info-1.24/
MP3-Info-1.24/inc/
MP3-Info-1.24/inc/Module/
MP3-Info-1.24/inc/Module/Install.pm
MP3-Info-1.24/inc/Module/Install/
MP3-Info-1.24/inc/Module/Install/AutoInstall.pm
MP3-Info-1.24/inc/Module/Install/Fetch.pm
MP3-Info-1.24/inc/Module/Install/Makefile.pm
MP3-Info-1.24/inc/Module/Install/Include.pm
MP3-Info-1.24/inc/Module/Install/Base.pm
MP3-Info-1.24/inc/Module/Install/Metadata.pm
MP3-Info-1.24/inc/Module/Install/Can.pm
MP3-Info-1.24/inc/Module/Install/WriteAll.pm
MP3-Info-1.24/inc/Module/Install/Win32.pm
MP3-Info-1.24/inc/Module/AutoInstall.pm
MP3-Info-1.24/Changes
MP3-Info-1.24/t/
MP3-Info-1.24/t/test1.mp3
MP3-Info-1.24/t/id3.t
MP3-Info-1.24/t/testv1.mp3
MP3-Info-1.24/t/testv2.2.0.mp3
MP3-Info-1.24/t/getset.t
MP3-Info-1.24/t/testv2.3.0.mp3
MP3-Info-1.24/t/testv1.1.mp3
MP3-Info-1.24/t/test2.mp3
MP3-Info-1.24/t/testv2.4.0.mp3
MP3-Info-1.24/t/test.aiff
MP3-Info-1.24/t/lame-info.t
MP3-Info-1.24/t/remove.t
MP3-Info-1.24/MANIFEST
MP3-Info-1.24/TODO
MP3-Info-1.24/eg/
MP3-Info-1.24/eg/mp3tag.PL
MP3-Info-1.24/eg/mp3tocddb.PL
MP3-Info-1.24/Info.pm
MP3-Info-1.24/README
MP3-Info-1.24/Makefile.PL
CPAN.pm: Going to build D/DA/DANIEL/MP3-Info-1.24.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for MP3::Info
cp Info.pm blib/lib/MP3/Info.pm
Manifying blib/man3/MP3::Info.3pm
DANIEL/MP3-Info-1.24.tar.gz
/usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/getset.t t/id3.t t/lame-info.t t/remove.t
t/getset.......ok
t/id3..........ok
t/lame-info....ok
t/remove.......ok
All tests successful.
Files=4, Tests=246, 0 wallclock secs ( 0.28 cusr + 0.03 csys = 0.31 CPU)
DANIEL/MP3-Info-1.24.tar.gz
/usr/bin/make test -- OK
Running make install
Prepending /home/mash/.cpan/build/MP3-Info-1.24-6Pmr1K/blib/arch /home/mash/.cpan/build/MP3-Info-1.24-6Pmr1K/blib/lib to PERL5LIB for 'install'
Manifying blib/man3/MP3::Info.3pm
Installing /usr/local/share/perl/5.10.0/MP3/Info.pm
Installing /usr/local/man/man3/MP3::Info.3pm
Writing /usr/local/lib/perl/5.10.0/auto/MP3/Info/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
DANIEL/MP3-Info-1.24.tar.gz
/usr/bin/make install -- OK
cpan[2]> q
In der Regel erfolgt die Installation ohne weiter Eingaben. Sollte jedoch dieses Modul ein weiteres Modul benötigen, muss man die Installation dieses Modul mit einem "yes" in der cpan-Shell bestätigen. Nach der "/usr/bin/make install -- OK"-Meldung kann die cpan-Shell durch Eingabe eines "q" verlassen werden.
Ist jedoch das Perl-Modul auf dem System schon installiert, erfolgt in etwa folgende Statusmeldung: MP3::Info is up to date (1.24).
Eine erweiterte CPAN-Shell kann mit dem Befehl cpanp aufgerufen werden (das "p" steht für plus). CPANPLUS von Jos Boumans, Audrey Tang und andere gilt als kommende neue Standard-CPAN-Shell.
Alternative Installation: Herunterladen, Entpacken und Installieren
In ein Paar einfachen Schritten lässt sich ein Modul aus dem CPAN herunterladen und installieren:
- Download des Moduls von www.cpan.org oder einem beliebigen anderen CPAN-Mirror
- Die Installation via Shell im Zielverzeichnis
root@server:~# cd /etc/perl
root@server:/etc/perl# tar xvfz Mein_CPAN_Modul.tar.gz
root@server:/etc/perl# cd Mein_CPAN_Modul/
root@server:/etc/perl# ./Makefile.PL
root@server:/etc/perl# make
root@server:/etc/perl# make install
Die Perl-Moduldateien sollten in einem der Verzeichnisse bzw. Unterverzeichnis abgelegt werden, die im Array @INC definiert sind. Das Perl-Script inc.pl zeigt die in @INC aufgelisten Verzeichnisse an:
Beispiel: inc.pl
#!/usr/bin/perl -w
print "Perl-Modul-Verzeichnisse:\n";
foreach (@INC) {
print "$_\n";
}