Instalacja modułów perla

Z openSUSE wiki

Plik:Cpan.png

Spis treści


Co to jest CPAN?

CPAN - ang. Comprehensive Perl Archive Network to źródło dokumentacji oraz modułów do języka Perl Plik:Camel.png

Zgromadzone moduły (ponad 18000 tys.) mają bardzo wiele zastosowań, np.

  • umożliwiają dostęp do baz danych, np. MySQL, PostgreSQL, Oracle
  • protokołów komunikacyjnych, np. TCP/IP
  • tworzenie obrazków, np. jpg
  • wykonywanie skomplikowanych operacji matematycznych
  • posiadają rozszerzenia innych języków programowania, np. Clips, Java, PHP, C/C++
  • posiadają interfejsy do innych systemów operacyjnych, np. Sun::Solaris

Więcej informacji na temat CPAN znaleźć możemy na stronie http://en.wikipedia.org/wiki/CPAN


Najszybsza instalacja modułów

Jedynie to co nam najbardziej potrzebne, to dostęp do internetu oraz openSUSE Plik:Kameleon.png.

Dla usera root (na hoście sphinx), aby użyć opcji CPAN, wykonaj kolejno:

sphinx:~ # perl -MCPAN -e shell

Instalacja samego CPAN:

cpan> install CPAN

Aby mieć zawsze najnowszą wersję CPAN, wykonaj:

cpan> reload cpan
cpan> install Bundle::CPAN

Przykład: Najszybsza instalacja danego modułu, np. http::exception.

cpan> install HTTP::Exception

Wymagane moduły

Podzielone na 3 części ponieważ nie zmieściło się w jednej linijce!

cpan> install DateTime DBI DBD::mysql Class::Autouse Digest::MD5 Digest::SHA1 HTML::Template Image::Size MIME::Lite MIME::Words 
cpan> install URI::URL HTML::Tagset HTML::Parser LWP::Simple LWP::UserAgent GD Mail::Address Unicode::MapUTF8 XML::Simple 
cpan> install IO::WrapTie Unicode::CheckUTF8 Captcha::reCAPTCHA Digest::HMAC_SHA1 Compress::Zlib Net::DNS Bundle::DBD::mysql

Inne ciekawe moduły

Moduł SOAP

cpan> install SOAP::Lite

Moduł Emacs

cpan> install Emacs

Moduły C/C++

cpan > install C::DynaLib C::Include C::Scan

Moduły Python:

cpan> install Python Python::Err Python::Object

Moduły PHP & Apache:

cpan> install PHP PHP::Interpreter PHP::Serialization::XS Apache::Emulator GTop Apache2::Ajax Validator::Custom::HTMLForm 

Interfejsy Perl 6:

cpan> install Perl6::Classes Perl6::Comments Perl6::Doc Perl6::Feed Perl6::Interpolators Perl6::Pod Perl6::Slurp::Interpret 
cpan> install Perl6::Subs Perl6::Variables v6 Perl6::Parameters Bundle::Perl6

ASP.NET

cpan> install Bundle::Apache::ASP Bundle::Apache::ASP::Extra

Moduły MySQL:

cpan> install MySQL::Admin MySQL::Backup MySQL::Handler MySQL::Log::ParseFilter MySQL::Packet MySQL::Sandbox 
cpan> install Mysql MySQL::TableInfo Test::DataLoader::MySQL Bundle::DBD::mysql DBD::mysql DBD::mysql::Install

Moduły PostgreSQL:

cpan> install Postgres

Aktualizacja modułów

Uwaga! Proces aktualizacji jest bardzo długotrwały!

Aby zaktualizować wszystkie moduły wydaj komendę:

cpan> upgrade


Pomoc cpan

Aby skorzystać z pomocy cpan, użyjemy opcji:

cpan> h

I tak dowiemy się, np, że:

cpan> q   //to wyjście z cpan
cpan> m   //wyświetla moduły do instalacji
cpan> r   //wyświetla moduły zainstalowane

Inną formą pomocy jest:

kris@sphinx:~> perldoc CPAN
kris@sphinx:~> perldoc perllocal
kris@sphinx:~> perldoc perlmodlib

Jeśli szybko chcemy znaleźć pomoc, np. dla modułu Apache::Emulator, to wpisujemy "perldoc Module::Name", czyli:

kris@sphinx:~> perldoc Apache::Emulator

Jeśli szybko chcemy znaleźć pomoc, np. dla skryptu ssltunnel-1.0.pl, to wpisujemy "perldoc scriptname", czyli:

kris@sphinx:~> perldoc ssltunnel-1.0.pl


Inne przydatne informacje

  1. Więcej na temat Perla możesz dowiedzieć się m.in. programowanie-linux
  2. Więcej modułów możemy znaleźć na http://www.cpan.org lub skorzystać z bardzo fajnego narzędzia jakim jest http://search.cpan.org
  3. CPAN buduje wszystko w /root/.cpan
  4. Aby sprawdzić, którą wersję perl masz w systemie wydaj polecenie # perl -v
  5. Ustawienia konfiguracji:
cpan> o conf make /usr/bin/make
cpan> o conf commit



Powyższy artykuł został również zamieszczony na programowanie-linux


cpan2rpm

Nie sposób znaleźć dystrybucję zawierającą wszystkie moduły perla, a ich kompilowanie ręcznie jest niewygodne i zostawia bałagan w systemie plików. Na szczęście istnieje skrypt cpan2rpm, który potrafi stworzyć pakiety rpm z archiwów zawierających źródła. Można go używać na wiele sposobów, w tym artykule zostaną przedstawione dwa najprzydatniejsze. Więcej informacji na: cpan2rpm

Grafika:Uwaga.png Uwaga: Ten skrypt może zostać użyty tylko do modułów perla!


Podanie nazwy modułu

Wystarczy podać nazwę modułu, jako argument:

cpan2rpm GStreamer

-- cpan2rpm - Ver: 2.028 --
Signatures not set up
Upgrade check
Fetch: HTTP

-- module: GStreamer --
Found: GStreamer-0.09.tar.gz
At: http://search.cpan.org//CPAN/authors/id/T/TS/TSCH
Retrieving URL
Metadata retrieval
Tarball extraction: [/usr/src/packages/SOURCES/GStreamer-0.09.tar.gz]
Unable to build module, the following dependencies have failed:
  ExtUtils::Depends >= 0.205
  Glib >= 1.120
  ExtUtils::PkgConfig >= 1.07
Stopped at /usr/bin/cpan2rpm line 491.
Can't return to /tmp/y9uppvyp7Z/GStreamer-0.09 from /tmp/y9uppvyp7Z (No such file or directory) at /usr/lib/perl5/5.8.8/File/Temp.pm line 898
END failed--call queue aborted.
-- Done --

Jak widać, skrypt potrafi sam znaleźć oraz sprawdzić, czy zależne moduły są zainstalowane - w tym wypadku nie ma ich. Na szczęście pakiety RPM z tymi modułami można znaleźć w repozytorium.

Pora na następny przykład, ale tym razem na module Readonly - wygodniejszym sposobie na tworzenie stałych w perlu niż wbudowana pragma "use constant":

cpan2rpm Readonly
(kilkadziesiąt linijek niżej)
RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm
SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm
-- Done --

Teraz wystarczy zainstalować utworzony przed chwilą pakiet pakiet:

rpm -Uvh /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm

Podanie scieżki do pliku

Co jednak zrobić, jeśli zamiast dostępu do internetu masz tylko moduł na dysku twardym? Na to też istnieje sposób:

cpan2rpm Readonly-1.03.tar.gz
(kilkadziesiąt linijek niżej)
RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm
SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm
-- Done --

Uwagi końcowe

Jak widać po listingach, wszystkie operacje zostały przeprowadzone na koncie root - to nie dobrze, jedyną przeprowadzoną operacją powinno być zainstalowanie gotowego pakietu RPM. Na szczęście można używać tego skryptu na koncie zwykłego użytkownika - wystarczy przygotować się w sposób opisany w innym artykule.

Więcej sposobów użycia oraz informacji można znaleźć w na stronie podręcznika systemowego poświęconej cpan2rpm.