it-swarm.dev

Kann local/lib.pm in @INC unter /usr/share/Perl/5.14/CPAN/FirstTime.pm nicht finden

Ich versuche, Perl das erste Mal auf meinem System zu verwenden, das Ubuntu 12.04 ist. Ich habe Perl v.5.14.2 installiert.
Ich habe nachgesehen wie man Perl-Module installiert , also habe ich wie folgt angefangen:

$ Perl -MCPAN -e Shell

Der Assistent hat die Konfiguration der Umgebung gestartet, wie hier zu sehen ist: http://Pastebin.com/5hn8vkb5
Es wurde jedoch in der Mitte mit der folgenden Fehlermeldung abgebrochen:

...

Checksum for /home/john/.cpan/sources/authors/id/A/AP/APEIRON/local-lib-1.008009.tar.gz ok
---- Unsatisfied dependencies detected during ----
----     APEIRON/local-lib-1.008009.tar.gz    ----
    ExtUtils::MakeMaker [build_requires]
Running make test
  Make had some problems, won't test
  Delayed until after prerequisites
Running make install
  Make had some problems, won't install
  Delayed until after prerequisites

Can't locate local/lib.pm in @INC (@INC contains:
    /home/john/Perl5/lib/Perl5
    /etc/Perl
    /usr/local/lib/Perl/5.14.2
    /usr/local/share/Perl/5.14.2
    /usr/lib/Perl5
    /usr/share/Perl5
    /usr/lib/Perl/5.14
    /usr/share/Perl/5.14
    /usr/local/lib/site_Perl
    /home/john/Desktop)
at /usr/share/Perl/5.14/CPAN/FirstTime.pm line 1300.

Was kann ich tun, um die Perl-Umgebung in meiner Ubuntu-Installation korrekt einzurichten?


Nach dem Unterbrechen und erneuten Starten des Assistenten liegt keine Fehlermeldung mehr vor. Wie kann ich den Assistenten erneut starten, damit ich hier auswählen kann:

Welchen Ansatz möchten Sie? (Wählen Sie 'local :: lib', 'Sudo' oder 'manual') [local :: lib]

7
JJD

Ihnen fehlt local::lib, und genau das haben Sie CPAN Shell gesagt.

Sie können es wie folgt installieren:

Sudo apt-get install liblocal-lib-Perl

Möglicherweise können Sie einen Neustart durchführen, indem Sie rm -rf- in Ihrem ~/.cpan-Verzeichnis eingeben. AT IHR EIGENES RISIKO

Ich würde jedoch empfehlen, cpanminus anstelle des alten CPAN Shell zu versuchen.

Sudo apt-get install cpanminus
14
chrsblck

Der local -Namensraum war für Ihre eigenen persönlichen Module und wurde im CPAN nicht gefunden. Das ist etwas relativ Neues. An vielen Standorten benötigen Sie möglicherweise CPAN-Module, die nicht in der aktuellen Version von Perl enthalten sind, oder Sie benötigen eine neuere Version eines bestimmten Moduls. Sie haben jedoch keinen Schreibzugriff auf den Standardspeicherort, an dem CPAN-Module installiert sind.

Dazu installieren Sie diese Module im Verzeichnis $HOME/Perl5/lib/local, in dem Sie auf sie zugreifen können. Außerdem müssten Sie eine Perl5LIB-Umgebungsvariable einrichten (normalerweise in Ihren Startskripten), damit Perl dieses Verzeichnis beim Auffinden dieser Module überprüft.

Wenn Sie über Sudo-Berechtigungen verfügen, verwenden Sie diese, um CPAN-Module zu installieren, anstatt dies zu versuchen. Im Folgenden wird das Modul Foo::Bar für Sie im Standardmodulverzeichnis installiert (und gegebenenfalls konfiguriert):

$ Sudo cpan install Foo::Bar

Wenn CPAN konfiguriert werden muss, wird dies zuerst durchgeführt.

Es gibt vollständige Anweisungen zum Ausführen der local :: lib -Installation für Module auf MetaCPAN . Sie sind ziemlich klar.

2
David W.

Mehrere neue Betriebssysteme (wie Redhat 7) erzwingen die Überprüfung des Vorhandenseins von local :: lib in der Perl-Version. Tatsächlich ist dies eine gute Sache, damit Benutzer CPAN verwenden und neue Module hinzufügen, experimentieren und genießen können, ohne dass sie mit Perl verwendet werden müssen Warten auf Sitewide-Installation (wie ein Root-Benutzer). Standardmäßig sucht local :: lib nach dem Verzeichnis $ HOME/Perl5, in dem sich die lokalen oder heruntergeladenen Module des Benutzers befinden. Wenn Sie dieses Problem sehen, müssen Sie Folgendes tun

  1. Sudo su - whatever_user_owns_Perl
  2. whatever_Perl_install_path/cpan install local :: lib
0
KeshV