Thread CPAN -e shell auf shared Hosting einrichten
(29 answers)
Opened by bianca at 2020-02-04 22:07
Na, mit diesen Antworten sollten wir das hinkriegen. Das sieht alles gut aus. Du hast make, und die Installation von local::lib hat auch funktioniert, dahin, wo Du es haben wolltest.
Aus dem Abfrageergebnis zu set sehen wir aber, dass Deine Shell ohne die Umgebungsvariablen von local::lib läuft. Mir persönlich ist das so auch lieber, aber: Deswegen findet Perl auch local::lib nicht. An dieser Stelle kommt der Schritt 4 aus dem Bootstrapping-Rezept ins Spiel. Der müsste in Deinem Fall so lauten: Code: (dl
)
echo 'eval "$(perl -I/home/sites/abc/perl5/lib/perl5 -Mlocal::lib=/home/sites/abc/perl5)"' >>~/.bashrc Beachte, dass Dein Installationsverzeichnis an zwei Stellen in diesem Kommando vorkommt. Wenn Du es nach dem -I nicht drin hast, oder das /lib/perl5 nicht drangehängt hast, dann haben wir schon die Ursache. Schau Dir in jedem Fall auch Deine Datei .bashrc in Deinem Home-Verzeichnis an, wie da die letzte(n) Zeile(n) ausschauen. Da sollte höchstens eine von diesen eval-Zeilen drinstehen: Code: (dl
)
eval "$(perl -I/home/sites/abc/perl5/lib/perl5 -Mlocal::lib=/home/sites/abc/perl5)" Zur Kontrolle kannst Du das Kommando eingeben, das Linuxer schon empfohlen hat, aber nun auf Deinen Installationspfad angepasst. Das gibt die Umgebungsvariablen, mit denen local::lib das Verhalten bei der Installation von CPAN-Modulen oder beim Ablauf von Perl steuert: Code: (dl
)
perl -I/home/sites/abc/perl5/lib/perl5 -Mlocal::lib Damit die lokale Umgebung auch in der aktuellen Umgebung wirksam wird, kannst Du nun entweder die .bashrc nochmal auswerten mit Code: (dl
)
. ~/.bashrc Code: (dl
)
eval "$(perl -I/home/sites/abc/perl5/lib/perl5 -Mlocal::lib=/home/sites/abc/perl5)" In Deiner Perl-Anwendung, die ja nicht unter Deiner Login-Shell läuft, musst Du die lokale Bibliothek dann auch einbinden: Code (perl): (dl
)
use lib '/home/sites/abc/perl5/lib/perl5'; Noch ein paar Kleinigkeiten zu Deinen Rückfragen: 2020-02-12T07:25:36 bianca Es zählt nur, wenn der Pfad mit /local/lib.pm aufhört, was er bei Dir tut. Das find-Kommando würde auch Module wie Blah::lib finden. 2020-02-12T07:25:36 biancaDu hast die Frage schon beantwortet. Die Shell ist bash, eine passende Startup-Datei ist also .bashrc. |