Thread Augenscheinlich 2 unterschiedliche @INC Inhalte (4 answers)
Opened by Ichhalt at 2016-10-14 15:54

GwenDragon
 2016-10-15 10:01
#185490 #185490
User since
2005-01-17
14532 Artikel
Admin1
[Homepage]
user image
Distributionspakete können andere Modulpfade haben als cpan-Pakete.
Mit apt installierte Perl-Module installieren in den INC-Pfad des System-Perl, also /usr/share/perl5/.
Mit cpan installierte Module landen in in /usr/local/

Beispiel für CGI bei Debian 8 und Perl 5.22
root@sv2 ~ # find / -name CGI.pm | xargs grep "CGI::VERSION="
/root/.cpan/build/CGI-4.35-0/lib/CGI.pm:$CGI::VERSION='4.35';
/root/.cpan/build/CGI-4.35-0/blib/lib/CGI.pm:$CGI::VERSION='4.35';
/usr/local/share/perl/5.20.2/CGI.pm:$CGI::VERSION='4.35';
/usr/share/perl5/CGI.pm:$CGI::VERSION='4.09';
/usr/share/perl/5.20.2/CGI.pm:$CGI::VERSION='3.65';
Die 4.35 ist die von mir mit cpan installierte.

Das Perl -V hst du doch in der hell aufgerufen als User?
Du verwendest ein user-abhängiges Setting für Perl?
PERL5LIB="/home/turnier/perl5/lib/perl5"
PERL_LOCAL_LIB_ROOT="/home/turnier/perl5"
PERL_MB_OPT="--install_base "/home/turnier/perl5""
PERL_MM_OPT="INSTALL_BASE=/home/turnier/perl5"
Dann werden die von dir installierten Module vermutlich unterhalb /home/turnier/perl5 gelandet sein.

Weiß denn dein Apache davon in der Konfig? So wie ich sehe, nicht.
Du kannst für den Container Directory /var/www/turnier/ auch PERL5LIB setzen. Musst aber nicht.

Es geht auch, dass du in den benutzen Perl-Programmen ein
use lib q(/home/turnier/perl5/lib/perl5);
verwendest.
Last edited: 2016-10-15 10:44:28 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Augenscheinlich 2 unterschiedliche @INC Inhalte