Skip to content

Perl-Module nachinstallieren ...

ubuntu Sollte ein Perl-Modul gebraucht werden, was noch nicht installiert ist, führt der erste und wichtigste Blick in die Paketverwaltung.

Dort stehen die Modulnamen meistens in den Beschreibungen "aptitude search ~dNet::Amazon". Wenn das Modul in einer Version vorhanden ist, die Ihr gebrauchen könnt, installiert und nutzt es. Der Vorteil der Paketverwaltung ist, dass Ihr Euch um Sicherheits- und andere Updates nicht mehr kümmern müsst.

Wenn Ihr eine höhere Versionsnummer als die vorhandene benötigt, könnt Ihr vielleicht das entsprechende Paket einer aktuelleren Version von Ubuntu benutzen. Hier hilft apt-pinning. Das ist aber nicht das Thema dieses Postings, dazu schreibe ich später noch etwas.

Funktioniert auch das nicht, müssen die Module via CPAN installiert werden.

Die installierten Module sollen nach ~/PerlMod/lib und die man-Pages nach ~/PerlMod/man.

Dazu habe ich mir eine MyConfig.pm erstellt, die unter ~/.cpan/CPAN liegt. Solltet Ihr diese übernehmen, prüft bitte, ob die Programme, die dort erwähnt werden auch alle vorhanden sind. Sonst nachinstallieren oder die Variable löschen.

$CPAN::Config = {
        'build_cache' => q[10],
        'build_dir' => q[~/.cpan/build],
        'cache_metadata' => q[1],
        'cpan_home' => q[~/.cpan],
        'cpan_version_check' => q[1],
        'dontload_hash' => {  },
        'ftp' => q[/usr/bin/ftp],
        'ftp_proxy' => q[],
        'getcwd' => q[cwd],
        'gpg' => q[/usr/bin/gpg],
        'gzip' => q[/bin/gzip],
        'histfile' => q[~/.cpan/histfile],
        'histsize' => q[100],
        'http_proxy' => q[],
        'inactivity_timeout' => q[0],
        'index_expire' => q[1],
        'inhibit_startup_message' => q[0],
        'keep_source_where' => q[~/.cpan/sources],
        'lynx' => q[/usr/bin/lynx],
        'make' => q[/usr/bin/make],
        'make_arg' => q[],
        'make_install_arg' => q[UNINST=0],
        'makepl_arg' => q[PREFIX=~/PerlMod/lib LIB=~/PerlMod/lib INSTALLMAN1DIR=~/PerlMod/man/man1 INSTALLMAN3DIR=~/PerlMod/man/man3],
        'ncftpget' => q[/usr/bin/ncftpget],
        'no_proxy' => q[],
        'pager' => q[/usr/bin/less],
        'prerequisites_policy' => q[ask],
        'scan_cache' => q[atstart],
        'shell' => q[/bin/bash],
        'tar' => q[/bin/tar],
        'term_is_latin' => q[0],
        'unzip' => q[/usr/bin/unzip],
        'urllist' => [q[http://cpan.mirror.solnet.ch]],
        'wget' => q[/usr/bin/wget],
};
1;
__END__

Um die Module verwenden zu können, muss entweder in das Perl-Skript die Zeile
use lib qw( ~/PerlMod/lib );
aufgenommen werden oder die Umgebungsvariable
export PERL5LIB=${HOME}/PerlMod/lib
gesetzt werden.

Ich tendiere zur ersten Variante, da damit auch andere User des Rechners (wie beispielsweise auch root) die Skripte ausführen können, ohne etwas umstellen zu müssen (vorausgesetzt sie haben Leserechte auf das PerlMod-Verzeichnis und den dazugehörigen Unterverzeichnissen und Daten).

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

M. Will am :

*In dem Artikel scheint gegen Ende (ab "Um die Module verwenden zu..." etwas schief gegangen zu sein.

Die Umgebungsvariable fehlt völlig, aber auch die use-Anweisung ist m.E. so nicht richtig, oder was bedeutet {FNAMEL} ???

Dirk Deimeke am :

*Du hast völlig Recht, da ist etwas schief gegangen. Ich kümmere mich darum.

Vielleicht hat das Update des GeShi-Plugins ein paar Merkwürdigkeiten mitgebracht.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen