2009-03-05 13 views

Odpowiedz

7

Po pobraniu kodu źródłowego zwykle będzie to plik Makefile.PL. Uruchamiasz "perl Makefile.PL; make; make test; make install", który będzie dla ciebie budować i instalować.

Oczywiście, jeśli nie korzystasz z CPAN.pm, musisz sam sobie poradzić z zależnościami.

Ponadto, jeśli nie możesz użyć CPAN.pm, nie masz uprawnień do instalacji w/usr/lib/perl, możesz zmusić CPAN.pm do zainstalowania lokalnie, ale zapominam jak.

+1

Lub dla dystrybucji Module :: Build: perl Build.PL; perl Build; perl Test budowy; perl Build install – ysth

+2

Uruchomienie "o conf init" w powłoce CPAN to najprostszy sposób na rekonfigurację całości. – Schwern

+0

Możesz ustawić wartość dla makepl_arg i buildpl_arg, aby ustawić dowolne wartości w czasie kompilacji. Zobacz dokumentację CPAN.pm. –

0

Jeśli plik .pm jest czystym Perlem i nie trzeba go kompilować, można go po prostu umieścić w folderze lib aplikacji i używać go w normalny sposób.

+0

Aby wyjaśnić, powinien to być folder lib twojej aplikacji, a nie twój systemowy folder perl lib. Ręczne dodawanie plików do twojego systemu lib perl jest po prostu błaganiem o piekło zależne później. – denkfaul

+0

Dobrze, zredagowałem moją odpowiedź. Umieściłem plik .pms w folderze perl libs, ale opracowałem je i nie miały żadnych zależności: D –

+0

Mam UserAgent.pm. Mogę po prostu umieścić go w folderze programu? Co jeśli ma zależności? – lamcro

32

Po pobraniu kodu źródłowego i przeczytaniu pliku README. Będzie to prawdopodobnie powiedzieć należy zrobić

perl Makefile.PL 
make 
make test 
make install 

lub

perl Build.PL 
./Build 
./Build test 
./Build install 
1

Jeśli problem nie ma dostępu korzeń, polecam patrząc na local::lib a także this webpage dla CPAN.pm i instalacji niż root.

Ale aby odpowiedzieć na pytanie, które należy zadać, CPAN lub CPANPLUS są pomocne, ale nie są wymagane. Zawsze możesz to zrobić w staroświecki sposób, jak mówi Leon - choć zwykle łatwiej jest tego nie robić.

+0

Możesz także uruchomić "o conf init", aby ponownie wykonać pełną konfigurację CPAN. – Schwern

+0

Tak długo, jak masz przyzwoity kompilator i dostęp do make, możesz bootstrap local :: lib do swojego katalogu domowego i nie jest wymagany żaden dostęp administratora. Z drugiej strony widziałem skrzynki solaris z dość mocno zablokowanymi kompilatorami, które ograniczają użyteczność tego podejścia. – singingfish

3

Jeśli korzystasz z systemu Linux, bardzo dużą część pakietów można zwykle uzyskać za pomocą wbudowanego menedżera pakietów. Na przykład, w systemie Ubuntu, jeśli chcesz zainstalować moduł PostgreSQL Perl ci, że proste zrobić:

sudo apt-get install libpg-perl 

można zobaczyć listę modułów Ubuntu tutaj: http://packages.ubuntu.com/hardy/perl/

znajdę I często potrafię odgadnąć nazwy. Nie jestem pewien, czy to w ogóle pomaga, ale dla mnie często jest to łatwiejsze w użyciu niż CPAN, ponieważ znacznie lepiej radzi sobie z rozwiązywaniem zależności.

+1

Problem polega na tym, że instaluje się w systemie Perl. Często tego nie chcesz, nawet jeśli myślisz, że to robisz. –

0

Jeśli używasz Red Hat (Fedora, CentOS), powinieneś używać RPM dla zależności Perla wszędzie, gdzie to możliwe. Pakiety Perla są prawie zawsze nazwane perl-Nazwa-modułu, np. perl-DBI, perl-Spreadsheet-WriteExcel, itd.

W systemie Ubuntu schemat nazewnictwa to libmodule-name-perl.

+0

Problem polega na tym, że instaluje się w systemie Perl. Często tego nie chcesz, nawet jeśli myślisz, że to robisz. –

-1

Ja, podobnie jak inni, gorąco polecam używanie CPAN.pm. Jest łatwy w użyciu i może rozwiązać wszelkie zależności związane z modułem, którego potrzebujesz automatycznie.

Z drugiej strony proponuję przeczytać dokument perlmodinstall pod adresem perldoc, ponieważ zawiera on informacje o innych urządzeniach.

Pozdrawiam,

Jeff

+0

To nie jest łatwe użycie. Czy próbowałeś kiedyś używać cpan.pm na MinGW? To niezwykle trudne. Zabrakło mu pamięci i po prostu zawiedzie, próbuje zainstalować w katalogach, do których nie masz uprawnień, lub po prostu zadaje ci zbyt wiele trudnych pytań, na które nie znasz odpowiedzi. – Dmitry

+0

Nie używam systemu Windows i nigdy nie próbowałem MiniGW, ale wygląda na to, że ma swoje problemy. Możesz spróbować uruchomić LInux w maszynie wirtualnej z czymś takim jak VirtualBox i zobaczyć, jak to działa. – numberwhun

2

Zobacz tutaj: How to install perl modules using CPAN without root

Właśnie to skonfigurować na serwerze bez dostępu root i CPAN automatycznie robi wszystko.

Ale jeśli naprawdę chce zainstalować moduł bez CPAN i nie masz root (zakładając, ponieważ nie chce używać CPAN), można to zrobić w następujący sposób

perl Makefile.PL PREFIX=$HOME 
make 
make install 

Ty Będziesz musiał sam polować na zależności, więc lepiej jest używać CPAN.

0

Możemy zainstalować wszystkie moduły perl zarówno z twojego terminalu, jak i nawet z niego w ubuntu. Jeśli korzystasz z serwera Ubuntu, wykonaj następujące polecenie: "sudo apt-get install" perl_module "' Moduły, które chcesz po prostu podać nazwę w" perl_module "oznacza Jeśli chcesz zainstalować Apache2 :: Cookie będzie być w "libapreq2", więc musisz dać, jak, "sudo apt-get install libapreq2"

-1

Jeśli pytasz o to, ponieważ masz problemy z CPAN ... prawdopodobnie skończy Ci się pamięć RAM dlatego nie możesz używać CPAN.

Może nie masz pliku wymiany. Wypróbuj to:

$ sudo su 
# dd if=/dev/zero of=/swap bs=1M count=1k # create a 1GB file 
# mkswap /swap 
# swapon /swap 

W przeciwnym razie ... zatrzymaj niektóre usługi.

$ sudo service mysql stop 
$ sudo service nginx stop 

... A spróbuj ponownie

$ cpan install CPAN 
$ cpan install MIME::Lite::TT::HTML 
+0

Do niższego stopnia: przestań być tak analny w dosłownym pytaniu, za każdym pytaniem kryje się pytanie, w tym przypadku ważnym jest: dlaczego nie działa CPAN, ponieważ nie mówi ci, po prostu nie działa, a ja ". Widzieliśmy tylko, że zawodzi w niskiej pamięci RAM i zdarza się to najczęściej, jeśli nie masz wymiany. – dagelf

Powiązane problemy