2013-05-22 9 views
7

Próbuję użyć Perla po raz pierwszy w moim systemie, który jest Ubuntu 12.04. Mam zainstalowany Perl v.5.14.2.
Spojrzałam how to install Perl modules, więc zacząłem się następująco:Nie można zlokalizować lokalnego/lib.pm w @INC na /usr/share/perl/5.14/CPAN/FirstTime.pm

$ perl -MCPAN -e shell 

Kreator rozpoczął konfigurowania środowiska jak widać tutaj: http://pastebin.com/5hn8vkb5
jednak, że zatrzymał się w połowie z następującym komunikatem o błędzie:

... 

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. 

Co mogę zrobić, aby poprawnie skonfigurować środowisko Perl w mojej instalacji Ubuntu?


Po przerwaniu kreatora i ponownym uruchomieniu go ponownie, nie ma już komunikatu o błędzie. Jak mogę ponownie uruchomić kreatora, dzięki czemu można wybrać tutaj:

What approach do you want? (Choose 'local::lib', 'sudo' or 'manual') [local::lib]

+1

'cpan lokalną :: lib' może? Lub sprawdź repozytorium apt-get. Nie masz zainstalowanego tego modułu, ale zdecydowałeś się go użyć do instalacji modułów. Nie chcesz "sudo"? – TLP

+0

@TLP Jaka byłaby nazwa biblioteki, którą muszę zainstalować za pomocą 'sudo apt-get install ...'? – JJD

+1

Bije mnie. Musisz szukać. Ale możesz oczywiście zrobić 'sudo cpan local :: lib'. Lub? – TLP

Odpowiedz

14

Tęskniłeś za local::lib, co właśnie powtarzasz w powłoce: CPAN.

Można go zainstalować tak:

sudo apt-get install liblocal-lib-perl 

Można by móc zacząć od nowa przez rm -rf -ing katalog ~/.cpan. NA WŁASNE RYZYKO

Jednak polecam wypróbowanie cpanminus zamiast starego CPAN shell.

sudo apt-get install cpanminus 
+0

Niestety, ani 'liblocal-lib-perl', ani' cpanminus' nie są spakowane w Ubuntu 12.04. –

+0

@CharlesDuffy - wyjście z Ubuntu 12.04.3 LTS: '$ apt-cache search liblocal-lib-perl liblocal-lib-perl - moduł do używania lokalnej ścieżki do modułów Perla i' $ apt-cache search cpanminus cpanminus - skrypt do pobierania, rozpakowywania, kompilowania i instalowania modułów z CPAN' – chrsblck

+0

... nie tak bardzo, na przykład, na oficjalnym obrazku dokera "ubuntu: 12.04". –

2

Przestrzeń nazw lokalny był dla własnych modułów osobowych i nie będzie można znaleźć w CPAN. To jest coś stosunkowo nowego. W wielu lokalizacjach możesz potrzebować modułów CPAN nie w bieżącej wersji Perla lub potrzebujesz nowszej wersji danego modułu. Jednak nie masz prawa do zapisu w standardowej lokalizacji, w której zainstalowane są moduły CPAN.

Co to jest instalacja tych modułów w katalogu $HOME/perl5/lib/local, gdzie będziesz mieć do nich dostęp. Będziesz także musiał skonfigurować zmienną środowiskową PERL5LIB (zazwyczaj w skryptach startowych), aby Perl sprawdził ten katalog podczas lokalizowania tych modułów.

Jeśli masz uprawnienia sudo, użyj tego, aby zainstalować moduły CPAN, zamiast próbować tego. Następujące będzie zainstalować moduł Foo::Bar do standardowego katalogu modułu dla ciebie (i zrobić dowolną konfigurację w razie potrzeby):

$ sudo cpan install Foo::Bar 

Jeśli CPAN musi być skonfigurowany, to zrobi to pierwszy.

Dostępne są kompletne instrukcje dotyczące instalacji local :: lib instalacji modułów na MetaCPAN. Są całkiem jasne.

+0

Dziękuję za szczegółowe wyjaśnienia. Zauważyłem, że moduły są zainstalowane lokalnie, ale nie są dostępne w PATH dla Perla. Dlatego próbowałem '--sudo'. Dziękuję również za link. – JJD

0

Kilka siła nowy system operacyjny jest (jak RedHat 7) siły, aby sprawdzić obecność lokalnego :: lib w wersji Perl, właściwie jej coś dobrego to pozwala użytkownikom korzystać cpan i dodać, eksperymentować i cieszyć się nowe moduły do użycia z perlem bez czekania na instalację w sieci (jak użytkownik root). Domyślnie local :: lib szuka katalogu $ HOME/perl5, w którym znajdują się lokalne lub pobrane moduły użytkownika. Jeśli widzisz ten problem to trzeba zrobić po

  1. sudo su - whatever_user_owns_perl
  2. whatever_perl_install_path/cpan zainstalować lokalny :: lib
Powiązane problemy