Thread CPAN -e shell auf shared Hosting einrichten
(29 answers)
Opened by bianca at 2020-02-04 22:07
In der von Dir angegebenen Fehlermeldung sind Hinweise, die vielleicht weiterhelfen...
Das Verzeichnis /home/sites/abc/users/xyz/perl5/lib/perl5 ist vermutlich das Verzeichnis, in dem Du Deine privaten Module ablegen kannst. Hast Du das vom Provider schon so bekommen, um Deine eigenen Module abzulegen? Falls ja, dann wäre das auch ein möglicher Ort, um local::lib und andere CPAN-Module abzulegen. Dann wäre das auch das Verzeichnis, das Du für den Bootstrap-Schritt 2 verwenden solltest. Der Schritt 4, der bei Dir hakt, ist leider wirklich lausig dokumentiert bei local::lib. Der hat nämlich auf die aktuelle Shell keinerlei Auswirkung. Er schreibt aber die Kommandos, die die Umgebungsvariablen "richtig" versorgen, in eine Datei, die jedes Mal beim Starten einer neuen Shell ausgeführt wird. Dazu muss man aber natürlich wissen, welche Startup-Datei das sein könnte. Hier mal ein Beispiel, was das bei meinem System bewirkt: Code: (dl
)
1 PERL_MB_OPT="--install_base \"/home/haj/perl5\""; export PERL_MB_OPT; Damit werden die Build-Tools ExtUtils::MakeMaker (MM) und Module::Build (MB) angewiesen, ihre Installationen in dem angegebenen Verzeichnis durchzuführen. $HOME/perl5 ist die Voreinstellung von local::lib, die bei mir wirksam wurde. Und das sind auch die Umgebungsvariablen, mit denen Du die manuelle Installation von local::lib steuern musst. Beide Build-Tools haben ihre Haken und Ösen: Der MakeMaker braucht das Kommando make, das nicht standardmäßig auf Linuxdistributionen installiert ist. Wenn Du Zugang zu Compilern auf dem System hast, dann solltest Du auch Zugang zu make haben. Module::Build ist Pure-Perl sollte genau das Problem der externen Abhängigkeit beheben, aber viele C-Komponenten brauchen dennoch ein Makefile. Das war dann auch der Anlass, es wieder auch aus dem Perl-Core zu entfernen. Interessant ist also für weitere Diagnosen:
Disclaimer: Ich habe local::lib bei mir installiert, aber die Zeilen aus den Startup-Prozeduren rausgeworfen, weil ich es nicht (mehr) verwende. Es verträgt sich nicht mit perlbrew. Deswegen schieße ich hier etwas ins Blaue. |